Mob 第三方登陸(獲取頭像 + 資訊)
阿新 • • 發佈:2018-12-22
直接開始步驟
1.大局 小局
classpath 'com.mob.sdk:MobSDK:+'
apply plugin: 'com.mob.sdk'
android同行
MobSDK {
appKey "28b059f1dcf94"
appSecret "ccbe0ae8fc110ff30694ed527d5ea27f"
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;
}
}
@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) {
}