帮助与文档

> >

Android 自定义平台

定义

ShareSDK当前集成超过20种国内外的社交平台,后续也还将继续添加,但是我们的速度有限,为了让开发者既能使用ShareSDK的框架,保持代码的统一性,又能更快添加自己需要的、而ShareSDK还没有提供的平台,我们开放了自定义平台的功能,它能如同插件服务一样注册到ShareSDK中,然后如同获取其他内置平台一样获取出来,统一处理。

所有自定义平台都继承自cn.sharesdk.framework.CustomPlatform,而CustomPlatform则继承自Platform。之所以不直接继承自Platform,是因为Platform有一些内部的方法,这些方法会和ShareSDK的后台进行通信。为了使开发者免去对这些接口的学习,在开发者的平台和Platform之间插入了CustomPlatform,屏蔽不必要的方法。

分享到“来往”

下面的代码是使用自定义平台功能,实现“来往”分享的例子:

上面的代码是一个完整的类,类中的方法名和用途大多在其他章节中已经描述,下面介绍几个比较须要注意方法。

checkAuthorize

这个方法是ShareSDK在开始非授权事件前,内部判断此平台是否已经完成授权的依据。返回true则表示已经完成授权,否则就应该执行多一次授权。自定义平台没有自动授权的功能,因为这个方法被开放出来,代码需要开发者自行填充。ShareSDK一般认为,如果目标操作使用的是平台的客户端来完成(比方说微信的分享),则只要客户端已经安装了,这个方法就返回true。换句话说,这个方法是指“要执行的事件是否可以立刻执行”,所谓的“自动授权”,只是在操作前告诉ShareSDK“不可以立刻执行,应该先等待授权”而已。

doShare

CustomPlatform有好几个“doXXX”的方法,用来实际处理不同事件的,比方说doShare就是用来执行share方法的操作。这些方法被执行在“外部方法”的子线程中,因此可以随意调用网络或者数据接口,但是最好不要直接操作UI,因为可能出错。

上文例子中doShare调用了Android系统的内置分享功能,将分享数据传递个来往客户端以完成分享。这样子的操作无法得到来往的返回,因此只要打开来往客户端,就算成功。

关于更多的接口解释,可以参考我们的API文档。

0 0