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<String, String> 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; } }