直接开始步骤
1.大局 小局
classpath 'com.mob.sdk:MobSDK:+'
apply plugin: 'com.mob.sdk'
android同行
MobSDK {
appKey ""
appSecret ""
ShareSDK {
//平台配置信息
devInfo {
SinaWeibo {
appKey "568898243"
appSecret "38a4f8204cc784f81f9f0daaf31e02e3"
callbackUri "http://www.sharesdk.cn"
shareByAppClient false
}
Wechat {
appId "wx4868b35061f87885"
appSecret "64020361b8ec4c99936c0e3999a9f249"
}
QQ {
appId "100371282"
appKey "aed9b0303e3ed1e27bae87c33761161d"
}
Facebook {
appKey "1412473428822331"
appSecret "a42f4f3f867dc947b9ed6020c2e93558"
callbackUri "https://mob.com"
}
}
}
}
2、清单
MobSDK.init(this);
3、代码 :可获取头像 + 信息
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn:
break;
case R.id.icon1:
//qq第三方
Platform plat = ShareSDK.getPlatform(QQ.NAME);
plat.removeAccount(true); //移除授权状态和本地缓存,下次授权会重新授权
plat.SSOSetting(false); //SSO授权,传false默认是客户端授权,没有客户端授权或者不支持客户端授权会跳web授权
plat.setPlatformActionListener(this);//授权回调监听,监听oncomplete,onerror,oncancel三种状态
if (plat.isClientValid()) {
//判断是否存在授权凭条的客户端,true是有客户端,false是无
}
if (plat.isAuthValid()) {
//判断是否已经存在授权状态,可以根据自己的登录逻辑设置
Toast.makeText(this, "已经授权过了", Toast.LENGTH_SHORT).show();
return;
}
//plat.authorize(); //要功能,不要数据
plat.showUser(null); //要数据不要功能,主要体现在不会重复出现授权界面
break;
case R.id.icon2:
//微信第三方
break;
case R.id.icon3:
//qq分享
// Log.e("yml","fenxiang");
OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// title标题,微信、QQ和QQ空间等平台使用
oks.setTitle(getString(R.string.share));
// titleUrl QQ和QQ空间跳转链接
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段
oks.setText("我是分享文本");
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
// url在微信、微博,Facebook等平台中使用
oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论,仅在人人网使用
oks.setComment("我是测试评论文本");
// 启动分享GUI
oks.show(this);
break;
}
}
@Override
public void onComplete(Platform platform, int i, final HashMap<String, Object> hashMap) {
Log.e("YML", "" + hashMap);
Log.e("img",(String)hashMap.get("figureurl_qq_1"));
runOnUiThread(new Runnable() {
@Override
public void run() {
et1.setText((String)hashMap.get("nickname"));
et2.setText((String)hashMap.get("is_yellow_vip"));
ImageLoader.getInstance().displayImage((String)hashMap.get("figureurl_qq_1"),image);
}
});
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
}
@Override
public void onCancel(Platform platform, int i) {
}