【问题描述】
最近在华为应用市场发布了一个付费下载的应用,使用华为手机付费后安装应用,然后打开应用一切正常,但是有用户反馈在非华为手机上安装应用,打开提示“请先安装最新版本的华为应用市场”,而实际上手机已经安装了华为应用市场。
【问题分析】
经过和华为技术人员咨询后,知道问题原因是我的应用在打开时探测不到华为应用市场的包名,因此认为手机上没有安装华为应用市场。根本原因是是在Android11系统限制了部分权限,在默认情况下,系统会自动让部分应用对开发者的应用可见,但会过滤掉其他应用。
【解决方案】
解决这个问题也很简单,可以通过声明软件包可见性解决,具体操作是在AndroidManifest.xml文件中添加 <queries> 元素列出 intent 过滤器即可。
相关介绍和操作也可以参考Android指导文档:https://developer.android.com/training/package-visibility/declaring?hl=zh-cn
具体代码我也贴出来:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.drmreleasedemo">
<queries>
<intent>
<action android:name="com.huawei.appmarket.drm.GET_SIGN" />
</intent>
</queries>
...
</manifest>
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
标签:AGC,华为,付费,应用,打开,安装 From: https://www.cnblogs.com/developer-huawei/p/16626430.html