android多次调用微信登录出现多个后台进程

出现问题的版本如下:

微信版本:

implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:5.4.0'
开发版本:

compileSdkVersion 30

buildToolsVersion '30.0.3'

搜索后的方法有两种,皆不能解决我的问题:

方法一:更改Activty启动模式。四种启动模式尝试一遍,最终结果——无效!

方法二:WXEntryActivity的onResp方法获取到code后,通过广播方式在发起页进行跳转。

按照这个方式,我通过EventBus发送跳转通知,在授权的Activity拿到广播信息,进行跳转操作。

经过多方收集测试,高版本手机依旧会出现多个后台进行的问题——无效。

没有办法,只能回归源头,前往微信开发中心寻找答案。

经过核对,除SDK版本不一致以外,其他都一样,抱着试一试的想法,修改SDK版本:

implementation 'com.tencent.mm.opensdk:wechat-sdk-android:6.8.0'

成功了!!!!

——————————————尴尬!完结撒花————————————————

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
登录 要在Android应用程序中实现微信登录,您需要按照以下步骤进行操作: 1.在微信开放平台上注册并创建应用程序,以获得应用程序ID和密钥。 2.下载并集成微信SDK到您的Android应用程序中。 3.在您的应用程序的AndroidManifest文件中添加必要的权限和活动声明。 4.在您的应用程序中实现登录逻辑,包括调用微信登录API、处理登录结果和获取用户信息。 以下是一个简单的示例代码,展示了如何在Android应用程序中实现微信登录: ```java //在Activity中实现微信登录 public class LoginActivity extends AppCompatActivity implements IWXAPIEventHandler { private IWXAPI mWXApi; private String mAppId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mAppId = "your_app_id"; //替换为您的应用程序ID mWXApi = WXAPIFactory.createWXAPI(this, mAppId, true); mWXApi.handleIntent(getIntent(), this); //注册应用程序 mWXApi.registerApp(mAppId); //调用微信登录 sendWeChatLoginRequest(); } private void sendWeChatLoginRequest() { final SendAuth.Req req = new SendAuth.Req(); req.scope = "snsapi_userinfo"; req.state = "wechat_login"; mWXApi.sendReq(req); } @Override public void onReq(BaseReq baseReq) { //处理请求结果 } @Override public void onResp(BaseResp baseResp) { if (baseResp.getType() == ConstantsAPI.COMMAND_SENDAUTH) { //处理登录结果 switch (baseResp.errCode) { case BaseResp.ErrCode.ERR_OK: //登录成功 String code = ((SendAuth.Resp) baseResp).code; getAccessToken(code); break; case BaseResp.ErrCode.ERR_USER_CANCEL: //用户取消登录 break; case BaseResp.ErrCode.ERR_AUTH_DENIED: //用户拒绝授权 break; default: //登录失败 break; } } } private void getAccessToken(String code) { //获取访问令牌 //... } } ``` 在上述示例中,您需要将“your_app_id”替换为您在微信开放平台上注册的应用程序ID。在onCreate()方法中,我们创建了一个IWXAPI实例并注册了我们的应用程序。然后,我们调用了sendWeChatLoginRequest()方法来发送微信登录请求。当用户完成登录后,onResp()方法将被调用,并根据登录结果执行适当的操作,例如获取访问令牌。请注意,此示例仅用于演示目的,并且可能需要根据您的应用程序的特定需求进行修改。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值