使用使用Android开发接入第三方原生开发接入第三方原生SDK实现微信登录实现微信登录
微信开放平台 : https://open.weixin.qq.com/
一、准备工作一、准备工作 :
1. Android Studio环境下:在build.gradle文件中,添加如下依赖即可:
dependencies {
implementation'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}
2. 在清单文件AndroidManifest.xml中加入权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
二、接入二、接入 :
1. 注册微信:
想要使我们的程序启动之后,微信终端可以响应我们我们的程序的话.就必须在代码中像微信终端注册我们的id
(可以在程序的入口Activity的OnCreat中注册,也可以在MyApplication中,或者是在其他合适的地方将我们的应用id注册到微信),
此处在Application中:
// 1.声明一个statid的IWXAPI 以及APPID
private static IWXAPI mWxApi;
private String WX_APPID = "";
// 2.初始化微信SDK
mWxApi = WXAPIFactory.createWXAPI(this, WX_APPID, true);
mWxApi.registerApp(WX_APPID);
2. 发起登录
if (BaseApplication.mWxApi!= null && BaseApplication.mWxApi.isWXAppInstalled()) {
final SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";
req.state = "wechat_sdk_fth";
BaseApplication.mWxApi.sendReq(req);
} else {
Toast.makeText(LoginActivity.this, "您还没有安装微信", Toast.LENGTH_SHORT).show();
}
3. 新建一个包 包名为wxapi,新建一个类名为WXEntryActivity的类,这个类名和包名是微信规定的,木有办法,必须一致了
然后在清单文件AndroidManifest.xml中声明该类:
<!-- 注册微信回调 WXEntryActivity -->
<activity
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@style/NoTitleTranslucentTheme">
</activity>
4. WxEntryActivity类代码如下:
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
private Bundle bundle;