获取用户信息接口(showUser)

//cn.sharesdk.framework/** * 获取用户信息 * @param account  获取指定账号的用户信息,间接设置成null */  public void showUser(String account)

示例代码

//设置受权登录的平台Platform plat = ShareSDK.getPlatform(QQ.NAME);//受权回调监听,监听oncomplete,onerror,oncancel三种状态plat.setPlatformActionListener(platformActionListener);//抖音登录适配安卓9.0//ShareSDK.setActivity(MainActivity.this);plat.showUser(null);

受权接口(authorize)

//cn.sharesdk.framework/** * 第三方受权 */   public void authorize()

示例代码

Platform plat = ShareSDK.getPlatform(Facebook.NAME);//受权回调监听,监听oncomplete,onerror,oncancel三种状态plat.setPlatformActionListener(new PlatformActionListener() {  public void onError(Platform platform, int i, Throwable throwable) {   //失败的回调,受权失败的回调 platform:平台对象,i:示意以后的动作(9示意分享),throwable:异样信息     }   public void onComplete(Platform platform, int i, HashMap arg2) {  //分享胜利的回调   }   public void onCancel(Platform platform, int i) {   //勾销分享的回调   }});//抖音登录适配安卓9.0//ShareSDK.setActivity(this);plat.authorize();

其余辅助接口

除此办法,ShareSDK还提供一些辅助办法,如下所示:

plat.removeAccount(true)

移除受权状态和本地缓存,下次受权会从新受权获取新的受权信息

plat.SSOSetting(false)

SSO受权,传false默认是客户端受权,没有客户端受权或者不反对客户端受权会跳web受权;设置成true是敞开SSO受权(敞开客户端受权)

plat.setPlatformActionListener(this)

受权回调监听,监听oncomplete,onerror,oncancel三种状态

plat.isAuthValid()

判断是否曾经存在受权状态,能够依据本人的登录逻辑设置

ShareSDK.setActivity(this);

抖音登录适配安卓9.0

判断客户端是否装置接口(isClientValid)

ShareSDK 3.10.7版本开始反对

//cn.sharesdk.framework/** * 受权回调 * @param callback  回调后果 */    public void isClientValid(final ShareSDKCallback<Boolean> callback)

示例代码

Platform plat = ShareSDK.getPlatform(Facebook.NAME);  plat.isClientValid(new ShareSDKCallback<Boolean>() {     @Override     public void onCallback(Boolean aBoolean) {     //判断是否存在受权凭条的客户端,true是有客户端,false是无客户端}});

受权回调接口(setPlatformActionListener)

//cn.sharesdk.framework/** * 受权回调 * @param callback  回调后果 */  public void setPlatformActionListener(PlatformActionListener callback)

示例代码

qzone.setPlatformActionListener(new PlatformActionListener() {  public void onError(Platform platform, int i, Throwable throwable) {  //受权失败的回调 platform:平台对象,i:示意以后的动作(9示意分享),throwable:异样信息    }  public void onComplete(Platform platform, int i, HashMap arg2) {    //受权胜利的回调      //输入所有受权信息     arg0.getDb().exportData();  }  public void onCancel(Platform platform, int i) {   //受权勾销的回调    }  });

一键分享接口(show)

//cn.sharesdk.onekeyshare/** * 一键分享 * @param context  分享参数 */  public void show(Context context)

示例代码

final OnekeyShare oks = new OnekeyShare();    //指定分享的平台,如果为空,还是会调用九宫格的平台列表界面    if (platform != null) {        oks.setPlatform(platform);    }    // title题目,印象笔记、邮箱、信息、微信、人人网和QQ空间应用    oks.setTitle("题目");    // titleUrl是题目的网络链接,仅在Linked-in,QQ和QQ空间应用    oks.setTitleUrl("http://sharesdk.cn");    // text是分享文本,所有平台都须要这个字段    oks.setText("我是分享文本");    //分享网络图片,新浪微博分享网络图片须要通过审核后申请高级写入接口,否则请正文掉测试新浪微博    oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");    // url仅在微信(包含好友和朋友圈)中应用    oks.setUrl("http://sharesdk.cn");    //分享回调    oks.setCallback(new PlatformActionListener() {     @Override      public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {      // 分享胜利回调      }         @Override      public void onError(Platform platform, int i, Throwable throwable) {      // 分享失败回调   platform:平台对象,i:示意以后的动作(9示意分享),throwable:异样信息        }      @Override       public void onCancel(Platform platform, int i) {      // 分享勾销回调         }      });    // 启动分享    oks.show(MobSDK.getContext());

指定平台独自分享接口(share)

//cn.sharesdk.framework/** * 独自分享 * @param params  分享参数 */  public void share(Platform.ShareParams params)

示例代码

上面别离应用Twitter和QQ作为例子,举例如何利用此办法实现分享性能。

Twitter分享

ShareParams sp = new ShareParams();sp.setText("测试分享的文本");sp.setImagePath("/mnt/sdcard/测试分享的图片.jpg");Platform tw = ShareSDK.getPlatform(Twitter.NAME);// 设置分享事件回调(注:回调放在不能保障在主线程调用,不能够在外面间接解决UI操作)tw.setPlatformActionListener (new PlatformActionListener() {    public void onError(Platform platform, int i, Throwable throwable) {        // 失败的回调, platform:平台对象,i:示意以后的动作(9示意分享),throwable:异样信息      }    public void onComplete(Platform platform, int i, HashMap arg2) {        // 分享胜利的回调    }    public void onCancel(Platform platform, int i) {        // 勾销分享的回调    } });// 执行图文分享tw.share(sp);

QQ

ShareParams sp = new ShareParams();sp.setTitle("测试分享的题目");sp.setTitleUrl("http://sharesdk.cn"); // 题目的超链接sp.setText("测试分享的文本");sp.setImageUrl("http://www.someserver.com/测试图片网络地址.jpg");sp.setSite("公布分享的网站名称");sp.setSiteUrl("公布分享网站的地址");Platform qq = ShareSDK.getPlatform (QQ.NAME);// 设置分享事件回调(注:回调放在不能保障在主线程调用,不能够在外面间接解决UI操作)qq.setPlatformActionListener (new PlatformActionListener() {    public void onError(Platform platform, int i, Throwable throwable) {        // 失败的回调,platform:平台对象,i:示意以后的动作(9示意分享),throwable:异样信息      }    public void onComplete(Platform platform, int i, HashMap arg2) {        // 分享胜利的回调    }    public void onCancel(Platform platform, int i) {        // 勾销分享的回调    }});// 执行图文分享qq.share(sp);

具体各个平台具体所需参数能够参考不同平台的具体参数阐明;

ShareSDK的每一个平台都有本人的ShareParams,因为平台差别,不同平台之间的ShareParams字段数量不一样,然而同样名称的字段都示意雷同的含意,上面是以后ShareSDK所有平台ShareParams的字段的名称和代表的含意:

字段名称

形容

text

待分享的文本

imagePath

待分享的本地图片。如果指标平台应用客户端分享,此门路不能够在/data/data上面

filePath

待分享的文件门路。这个用在Dropbox和Wechat中

title

分享内容的题目

notebook

寄存笔记的笔记本,如果不存在,会创立。个别用在印象笔记等“笔记类”平台中

stack

印象笔记中的字段,用于归类笔记本

resource

印象笔记中的字段,数组,临时反对String类型和File类型的元素。如果想一次发送多个文本和图片,须要应用这个字段

tags

标签,数组,局部平台反对为分享内容设置标签,能够应用这个字段

isPublic

印象笔记和flickr的字段,示意是否公开

isFriend

flickr和VK的字段,示意是否公开给本人的敌人

isFamily

flickr的字段,示意是否公开给本人的家人

safetyLevel

flickr的字段,示意安全级别:1为平安级、2为辅导级、3为限制级

contentType

flickr的字段,示意相册类型:1为相片、2为屏幕截图、3为其余

hidden

flickr的字段,示意是否暗藏图片

venueName

foursquare的字段,示意分享地位的名称

venueDescription

foursquare的字段,示意分享地位的形容

latitude

分享地位的维度

longitude

分享地位的经度

imageUrl

待分享的网络图片

comment

对分享内容的评估。区别于text,评论个别共利用的用户本人填写,局部平台反对此字段

titleUrl

分享内容题目的链接地址

url

分享内容的url、在微信和易信中也应用为视频文件地址

address

邮箱地址或者短信电话号码,个别在邮箱或者短信中应用

site

QQ空间的字段,标记分享利用的名称

siteUrl

QQ空间的字段,标记分享利用的网页地址

gropuId

VK的字段,示意图片所属的组ID。如果不设置此字段,ShareSDK会将组ID设置为ShareSDK所在的组

shareType

微信和易信的字段,分享内容的类型: 别离为Platform.SHARE\_TEXT(分享文本), Platform.SHARE\_IMAGE(分享图片), Platform.SHARE\_WEBPAGE(分享网页,既图文分享), Platform.SHARE\_MUSIC(分享音频), Platform.SHARE\_VIDEO(分享视频), Platform.SHARE\_APPS(分享利用,仅微信反对), Platform.SHARE\_FILE(分享文件,仅微信反对) Platform.SHARE\_EMOJI(分享表情,仅微信反对)

musicUrl

微信和易信的字段,分享音频时的音频文件网络地址

imageData

微信和易信的字段,各类分享内容中的图片bitmap对象,能够代替imagePath或者imageUrl

autdor

有道云笔记的字段,示意分享内容的作者

customFlag

自定义分享标签

上述字段中和本地门路无关的,全副应用“Path”结尾,如imagePath;和网络门路无关的,应用“Url”结尾,如imageUrl。本地图片最好应用后缀名,否则POST文件时,可能无奈正确计算文件的MIME值,从而导致发送失败。

一键分享回调(setCallback)

//cn.sharesdk.onekeyshare/** * 一键分享回调 * @param callback  回调后果 */ public void setCallback(PlatformActionListener callback)

示例代码

oks.setCallback(new PlatformActionListener() {     @Override      public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {      // 分享胜利回调     }         @Override      public void onError(Platform platform, int i, Throwable throwable) {      // 分享失败回调  platform:平台对象, i:示意以后的动作(9示意分享),throwable:异样信息      }      @Override       public void onCancel(Platform platform, int i) {      // 分享勾销回调         }      });

指定平台独自分享回调(setPlatformActionListener)

//cn.sharesdk.framework/** * 独自分享回调 * @param callback  回调后果 */  public void setPlatformActionListener(PlatformActionListener callback)

示例代码

qzone.setPlatformActionListener(new PlatformActionListener() {       public void onError(Platform platform, int i, Throwable throwable) {       //失败的回调, platform:平台对象, i:示意以后的动作(9示意分享),throwable:异样信息       }       public void onComplete(Platform platform, int i, HashMap arg2) {       //分享胜利的回调         }       public void onCancel(Platform platform, int i) {        //勾销分享的回调        }       });