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) {
取消的方法
}
};