【轉(zhuǎn)載】Android友盟SDK微信授權(quán)登錄接入

原文地址:https://www.namidame.tech/umeng_sdk.html

官方文檔:
微信SDK接入
友盟SDK接入

  • 微信授權(quán)登錄接入需要先到微信開放平臺(tái)申請好應(yīng)用的APPID涕蚤,交納300大洋費(fèi)用得到授權(quán)登錄權(quán)限后才能使用唤崭,此處不再贅述麦牺。
  • 接入的兩種方式
    -- 微信SDK接入:使用微信官方SDK接入,需要分“獲取code票據(jù)”和“獲取access_token”兩步來獲得授權(quán)關(guān)系接口的調(diào)用憑證
    -- 友盟SDK接入:友盟已集成各種接口接入须喂,直接一個(gè)方法搞定
  • 本文記錄使用友盟SDK接入微信授權(quán)登錄中的幾處關(guān)鍵代碼,使用的是友盟SDK 6.1.1简逮,最新版請到官網(wǎng)下載
  • 最新版與舊版SDK用法有出入蘸拔,官網(wǎng)文檔也不是太完善,本文僅針對6.1.1版本在Eclipse工程接入記錄

初始化SDK

最好在Android應(yīng)用入口處初始化SDK

public class XXApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
        PlatformConfig.setWeixin(WX_APP_ID, WX_APP_SECRET);
    }
}

創(chuàng)建WXEntryActivity

  • 在應(yīng)用包名下創(chuàng)建wxapi包今缚,包內(nèi)創(chuàng)建WXEntryActivity
  • 例如應(yīng)用包名為com.test.test,則創(chuàng)建com.test.test.wxapi.WXEntryActivity
public class WXEntryActivity extends WXCallbackActivity implements IWXAPIEventHandler {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}

AndroidManifest聲明

在manifest文件上聲明回調(diào)用到的WXEntryActivity低淡,包名改成自己項(xiàng)目的包名姓言。官網(wǎng)說這里一個(gè)字也不能改,試了試好像改一改也沒關(guān)系的蔗蹋。何荚。

<activity
   android:name="com.test.test.wxapi.WXEntryActivity"
   android:theme="@android:style/Theme.Translucent.NoTitleBar"
   android:configChanges="keyboardHidden|orientation|screenSize"
   android:exported="true"
   android:screenOrientation="portrait" />

發(fā)送授權(quán)請求

public void requestAuth() {
    this.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            UMShareAPI mShareAPI = UMShareAPI.get(this);
            mShareAPI.getPlatformInfo(this, SHARE_MEDIA.WEIXIN, umAuthListener);
        }
    });
}

private UMAuthListener umAuthListener = new UMAuthListener() {
    @Override
    public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
        System.out.println("AuthorizeSuccess");
        for (String key : data.keySet()) { 
            System.out.println("Key = " + key); 
        } 
        for (String value : data.values()) { 
            System.out.println("Value = " + value); 
        }
        this.runOnGlThread(new Runnable(){
            @Override
            public void run(){
                //回調(diào)Lua
            }
        })
    }

    @Override
    public void onError(SHARE_MEDIA platform, int action, Throwable t) {
        Toast.makeText(this.getApplicationContext(), "Authorizefail", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onCancel(SHARE_MEDIA platform, int action) {
        Toast.makeText(this.getApplicationContext(), "Authorizecancel", Toast.LENGTH_SHORT).show();
    }
};

注:

  • 6.1.1版SDK的回調(diào)UMAuthListener沒有onStart()函數(shù),在后面的版本才有
  • 上面的寫法是用Lua調(diào)用Java猪杭,再回調(diào)Lua授權(quán)結(jié)果餐塘,發(fā)送請求時(shí)運(yùn)行在Ui線程,回調(diào)時(shí)運(yùn)行在Gl線程皂吮,如果是普通請求回調(diào)直接執(zhí)行run函數(shù)內(nèi)容即可
  • 關(guān)于onActivityResult戒傻,官網(wǎng)說要重寫,但6.1.1版SDK沒有重寫也可以成功調(diào)用

最后在登錄所在的Activity里復(fù)寫onActivityResult方法,注意不可在fragment中實(shí)現(xiàn)蜂筹,如果在fragment中調(diào)用登錄需纳,在fragment依賴的Activity中實(shí)現(xiàn),如果不實(shí)現(xiàn)onActivityResult方法艺挪,會(huì)導(dǎo)致登錄或回調(diào)無法正常進(jìn)行

onActivityResult代碼如下

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}

著作權(quán)歸作者所有不翩。
商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處麻裳。
作者: 你很德布羅意
郵箱: namidame@sina.cn
博客地址: https://www.namidame.tech/
原文地址: http://www.namidame.tech/umeng_sdk.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末口蝠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子掂器,更是在濱河造成了極大的恐慌亚皂,老刑警劉巖俱箱,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件国瓮,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)乃摹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門禁漓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人孵睬,你說我怎么就攤上這事播歼。” “怎么了掰读?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵秘狞,是天一觀的道長。 經(jīng)常有香客問我蹈集,道長烁试,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任拢肆,我火速辦了婚禮减响,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘郭怪。我一直安慰自己支示,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布鄙才。 她就那樣靜靜地躺著颂鸿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪攒庵。 梳的紋絲不亂的頭發(fā)上据途,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音叙甸,去河邊找鬼颖医。 笑死,一個(gè)胖子當(dāng)著我的面吹牛裆蒸,可吹牛的內(nèi)容都是我干的熔萧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼僚祷,長吁一口氣:“原來是場噩夢啊……” “哼佛致!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辙谜,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤俺榆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后装哆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罐脊,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡定嗓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了萍桌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宵溅。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖上炎,靈堂內(nèi)的尸體忽然破棺而出恃逻,到底是詐尸還是另有隱情,我是刑警寧澤藕施,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布寇损,位于F島的核電站,受9級特大地震影響裳食,放射性物質(zhì)發(fā)生泄漏润绵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一胞谈、第九天 我趴在偏房一處隱蔽的房頂上張望尘盼。 院中可真熱鬧,春花似錦烦绳、人聲如沸卿捎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽午阵。三九已至,卻和暖如春享扔,著一層夾襖步出監(jiān)牢的瞬間底桂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工惧眠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留籽懦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓氛魁,卻偏偏與公主長得像暮顺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子秀存,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355