您的位置:首页 > 文旅 > 旅游 > Android微信分享返回不了应用(或黑屏、或延时、或返回后马上又跳回微信)相关问题解决

Android微信分享返回不了应用(或黑屏、或延时、或返回后马上又跳回微信)相关问题解决

2024/10/11 22:48:30 来源:https://blog.csdn.net/piggy514/article/details/141328367  浏览:    关键词:Android微信分享返回不了应用(或黑屏、或延时、或返回后马上又跳回微信)相关问题解决

前几年去掉了微信sdk,使用android系统的通用分享;最近由于业务需要又要加回来,结果标题相关问题都遇到了。

1、出现的问题和环节

  点击应用的分享按钮后,通过微信分享接口转入微信界面后:

  1-1、直接点微信左上角的返回按钮(无反应;或等一会黑屏,再等一会终于返回成功;或返回后又马上跳回微信)

  1-2、选一个好友分享

    1-2-1、点取消(即不分享)、再点微信的返回(现象同1-1)

    1-2-2、点分享、再点返回应用按钮(返回应用成功;或返回应用后又马上跳回微信)

2、解决办法(除了返回应用后又马上跳回微信这个问题

public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler {
// ..
}

上边的写法:如果继承AppCompatActivity ,那么AndroidManifest.xml里必须把theme设置一下

<activityandroid:configChanges="keyboard|keyboardHidden|orientation"android:label="@string/app_name"android:exported="true"android:launchMode="singleTop"android:theme="@style/Theme.AppCompat"android:name=".wxapi.WXEntryActivity">
</activity>

必须是这句: android:theme="@style/Theme.AppCompat"

否则就会出现标题里的各种现象(除了返回应用后马上返回微信)。

3、解决问题:返回应用后又马上跳回微信

这个应该属于应用代码问题(网上随便找的代码,没想到它引发了如此奇怪的问题)。

private void testWeixinShare() {Glide.with(this).asBitmap().load("图片url").into(new SimpleTarget<Bitmap>() {@Overridepublic void onResourceReady(Bitmap bitmap, Transition<? super Bitmap> transition) {WxShareUtils.shareWeb(activity, "你的AppId","https://baidu.com", "网页标题", "网页描述",bitmap);}@Overridepublic void onLoadFailed(@Nullable Drawable errorDrawable) {super.onLoadFailed(errorDrawable);WxShareUtils.shareWeb(activity, "你的AppId","https://baidu.com", "网页标题", "网页描述",null);}});}

WxShareUtils是自定义类,这个不用管,不是问题。

问题在于原作者用Glide这个第三方类取网络图片,里边有这2个回调;至于为什么就不清楚了,不熟悉这个Glide。总之排除法:我自己写了一段分享图片(例如App当前界面的截图,Bitmap格式)的代码,不用这个Glide,也就用不到这2个回调,结果“返回应用后马上跳回微信”这个搞笑现象就消失了(既然跳回微信,就说明app又因为什么生命周期机制调用了微信分享接口,不过不想研究了,不用这个Glide回调就是了)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com