1. 程式人生 > >UMeng第三方登入

UMeng第三方登入

注意要點,包名<com.umeng.soexample>,Appid,簽名檔案,祕鑰必須一致<不要有多餘的空格>,

QQ,微信登入需要的jar包
SecurityEnvSDK-release-1.1.0.jar
umeng-common-1.5.4.jar
umeng-share-core-6.9.3.jar
umeng-share-QQ-simplify-6.9.3.jar
umeng-share-wechat-simplify-6.9.3.jar
umeng-shareboard-widget-6.9.3.jar
umeng-sharetool-6.9.3.jar
utdid4all-1.1.5.3_proguard.jar
所要的許可權




然後把下載的sdk中的drawable,layout,values裡面的東西複製到對應的包下
在吧名為debug.keystore的檔案複製到專案下
並在對應的bulid下配置如下程式碼
signingConfigs {
debug {
storeFile file(‘debug.keystore’)
storePassword “android”
keyAlias “androiddebugkey”
keyPassword “android”
}
}
注意檔案配置位置

然後就是清單檔案了:
QQ的配置


            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="tencent100424468" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.tencent.connect.common.AssistActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity android:name=".Main2Activity" />
    <activity android:name=".Main4Activity"></activity>

微信的配置

如果要用微信登入首先要新建wxapi的包,然後新建一個Activity名為.WXEntityActivity
裡面為空並繼承WXCallbackActivity

然後見一個App(*名稱自擬)繼承Application

@Override
public void onCreate() {
super.onCreate();
UMConfigure.setLogEnabled(true);
UMConfigure.init(this,“5a12384aa40fa3551f0001d1”
,“umeng”,UMConfigure.DEVICE_TYPE_PHONE,"");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0

//打log
UMConfigure.setLogEnabled(true);
PlatformConfig.setWeixin(“wxdc1e388c3822c80b”, “3baf1193c85774b3fd9d18447d76cab0”);
PlatformConfig.setQQZone(“100424468”, “c7394704798a158208a74ab60104f0ba”);
UMShareAPI.get(this);

}

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

到這裡就該寫正文了:

QQ登入
UMShareConfig shareConfig = new UMShareConfig();
shareConfig.isNeedAuthOnGetUserInfo(true);
UMShareAPI.get(MainActivity.this).setShareConfig(shareConfig);
umShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);

//監聽
public UMAuthListener authListener = new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
開始的方法
}

    @Override
    public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
成功的方法

    }

    @Override
    public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {

錯誤的方法
}

    @Override
    public void onCancel(SHARE_MEDIA share_media, int i) {

取消的方法
}
};