内容简介:最近微信唤起app的数据急速下降,产品同学告诉我们大事来了,微信不能唤起Android的App了~!~!为提升微信 webivew 中网页打开其他应用的体验,防止诱导点击、强制跳出等不合理行为, 我们的“唤起外部客户端”的能力统一调整为:我们在接入微信的
最近微信唤起app的数据急速下降,产品同学告诉我们大事来了,微信不能唤起Android的App了~!~!
微信语录
为提升微信 webivew 中网页打开其他应用的体验,防止诱导点击、强制跳出等不合理行为, 我们的“唤起外部客户端”的能力统一调整为:
- 1、 在 6.5.16 及以上版本的微信客户端中,贵方网页将只能使用 launchApplication 接口,打
开其他应用。该接口会在唤起前要求用户接受弹窗确认。 - 2、 在 6.5.16 以下版本的微信客户端中,贵方网页可以继续使用现有方式,打开其他应用。
解决版本
我们在接入微信的 opensdk
的时候会在自己项目代码中包含 xxx.xxx.xxx.wxapi.WXEntryActivity
这个页面。
在 6.5.16 及以上版本的微信客户端中,微信首先唤起的是 xxx.xxx.xxx.wxapi.WXEntryActivity
这个页面,将参数放在 extInfo
字段中,由第三方 APP 自行解析处理 ShowMessageFromWX.Req 的微信回调。
public class WXEntryActivity extends WXCallBack { @Override public void onReq(BaseReq req) { super.onReq(req); if (req != null && req instanceof ShowMessageFromWX.Req) { ShowMessageFromWX.Req request = (ShowMessageFromWX.Req) req; if (request.message != null && request.message.mediaObject != null && request.message.mediaObject instanceof WXAppExtendObject) { WXAppExtendObject appExtendObject = (WXAppExtendObject) request.message.mediaObject; //唤起app的启动页面,将scheme协议中的数据进行透传 Intent intent = new Intent(this, LaunchActivity.class); intent.setData(Uri.parse(appExtendObject.extInfo)); startActivity(intent); } } } }
微信官方具体描述我们可以参见: 微信webview唤起外部客户端接入说明2018版
总结
微信这样做,将微信与其下游的app的之前的影响继续加强。虽然我们做了不同的适配,但是同时能得到微信唤起app的成功或者失败的数据。在互联网产品竞争激烈的今天我们不仅仅要做好用户产品也好做好技术产品。
文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦~!~!
想阅读作者的更多文章,可以查看我个人博客 和公共号:
以上所述就是小编给大家介绍的《解决6.5.16及以上版本微信内部M页不能唤起APP》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Android 外部唤起应用跳转指定页面
- 查看linux内核版本和CentOS版本
- JavaScript版本如何与ECMAScript版本相关联?
- IJPay 0.8 版本发布,兼容低版本 JDK
- fastjson 1.2.55 版本发布,Bug 修复版本
- Apache Ignite 2.9.1 版本发布,小版本更新
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。