Android接入微信SDK如何处理WXEntryActivity

微信接入WXEntryActivity 

  • 微信接入的官网:Android接入指南 | 微信开放文档
  • 微信SDK接入里面有这么一段说明:在你的包名相应目录下新建一个 wxapi 目录,并在该 wxapi 目录下新增一个 WXEntryActivity 类,该类继承自 Activity(例如应用程序的包名为 net.sourceforge.simcpux,则新添加的类如下图所示)

并在 manifest 文件里面加上exported、taskAffinity及 launchMode 属性,其中 exported 设置为true,taskAffinity设置为你的包名,launchMode设置为singleTask,例如:

<activity
    android:name=".wxapi.WXEntryActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:exported="true"
    a
### 如何在 Android Kotlin 项目中集成微信登录 SDK 并实现登录功能 #### 添加依赖项 为了能够使用微信登录,在项目的 `build.gradle` 文件中的 dependencies 块内添加微信 SDK 的依赖: ```gradle implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+' ``` 此操作简化了接入流程,因为包含了必要的组件[^1]。 #### 创建 WXEntryActivity 类 按照官方说明文档的要求,在 wxapi 这个包下面新建一个名为 WXEntryActivity 的 Activity,并设置其属性如下所示。该类用于接收来自微信的响应数据并处理回调逻辑。需要注意的是,此类必须声明为可导出且启动模式设为 singleTop,同时主题应采用无显示样式以避免不必要的 UI 层级增加。 ```xml <activity android:exported="true" android:launchMode="singleTop" android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.NoDisplay"/> ``` 此外,还需确保在应用程序清单文件 (AndroidManifest.xml) 中注册上述活动[^2]。 #### 初始化 API 接口实例 通常情况下,可以在 Application 或者主活动中完成初始化工作。这里给出一段简单的示例代码来展示如何获取 IAPI 接口对象以及配置 AppID 和其他参数: ```kotlin val api = WXAPIFactory.createWXAPI(this, "YOUR_APP_ID", true) api.registerApp("YOUR_APP_ID") ``` 请注意替换 `"YOUR_APP_ID"` 为你自己的应用 ID。 #### 发起授权请求 当用户点击按钮触发登录行为时,可以调用微信开放平台提供的 SendAuth.Req 方法向服务器发送认证请求消息体。以下是具体的实现方式: ```kotlin fun sendWeChatLoginRequest() { val req = SendAuth.Req() req.scope = "snsapi_userinfo" // 应用授权作用域 req.state = "random_state" // 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值 api.sendReq(req) } ``` 以上就是整个过程的关键部分;不过值得注意的是,如果遇到集成过程中不走回调 onResp 的情况,则可能是因为没有正确配置或者实现了 WXEntryActivity 所致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值