1. 程式人生 > >Mob 第三方登陸(獲取頭像 + 資訊)

Mob 第三方登陸(獲取頭像 + 資訊)

直接開始步驟
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) {

    }