QQ完整版和微信完整版第三方集成登录

1.在项目libs下导入jar包(10个jar包)和res文件{下载集成文件中有}

2.在清单文件中

//sdk中需要的Activity

<activity
    android:name="com.tencent.tauth.AuthActivity"
    android:launchMode="singleTask"
    android:noHistory="true">

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <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:screenOrientation="portrait"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<meta-data
    android:name="UMENG_APPKEY"
    android:value="5a4e0a97f43e480f94000098">meta-data>!!!自己的UmengKey
3.MyApp中继承Application
//初始化sdk
umShareAPI = UMShareAPI.get(this);
UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "1fe6a20054bcef865eeb0991ee84525b");
//微信
PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
//QQ
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
4.项目中创建wxapi文件夹---创建Activity---WXEntryActivity继承WXCallbackActivity
5.MainActivity(自己的微信,QQ登录界面Activity)
 
  
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_third_party_login);
    ButterKnife.bind(this);
    /**
     * @desc 授权开始的回调
     * @param platform 平台名称
     */ /**
     * @desc 授权成功的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     * @param data 用户资料返回
     */ /**
     * @desc 授权失败的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     * @param t 错误原因
     */ /**
     * @desc 授权取消的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     */
    umAuthListener = new UMAuthListener() {
        /**
         * @desc 授权开始的回调
         * @param platform 平台名称
         */
        @Override
        public void onStart(SHARE_MEDIA platform) {

        }

        /**
         * @desc 授权成功的回调
         * @param platform 平台名称
         * @param action 行为序号,开发者用不上
         * @param data 用户资料返回
         */
        @Override
        public void onComplete(SHARE_MEDIA platform, int action, Map data) {
            Intent intent = new Intent(ThirdPartyLogin.this, MainActivity.class);
            startActivity(intent);
        }

        /**
         * @desc 授权失败的回调
         * @param platform 平台名称
         * @param action 行为序号,开发者用不上
         * @param t 错误原因
         */
        @Override
        public void onError(SHARE_MEDIA platform, int action, Throwable t) {
            Toast.makeText(ThirdPartyLogin.this, "失败:" + t.getMessage(), Toast.LENGTH_LONG).show();
        }

        /**
         * @desc 授权取消的回调
         * @param platform 平台名称
         * @param action 行为序号,开发者用不上
         */
        @Override
        public void onCancel(SHARE_MEDIA platform, int action) {
            Toast.makeText(ThirdPartyLogin.this, "取消了", Toast.LENGTH_LONG).show();
        }
    };

}
//点击事件中调用(红色部分)
@OnClick({R.id.weixin_login, R.id.qq_login, R.id.other_login})
public void onViewClicked(View view) {
    switch (view.getId()) {
        case R.id.weixin_login:
            UMShareAPI umShareAPI = UMShareAPI.get(this);
            umShareAPI.getPlatformInfo(ThirdPartyLogin.this, SHARE_MEDIA.WEIXIN, umAuthListener);
            break;
        case R.id.qq_login:
            UMShareAPI umShareAPI1 = UMShareAPI.get(this);
            umShareAPI1.getPlatformInfo(ThirdPartyLogin.this, SHARE_MEDIA.QQ, umAuthListener);
            break;
        case R.id.other_login:
            Intent intent = new Intent(ThirdPartyLogin.this, LoginActivity.class);
            startActivity(intent);
            break;
    }
}


 
  

你可能感兴趣的:(QQ完整版和微信完整版第三方集成登录)