为什么HMS PushKit需要android.permission.REQUEST_INSTALL_PACKAGES

2024-03-29

最近我用这个gradle代码添加了HMS PushKit SDK:

implementation "com.huawei.hms:push:5.0.4.302"

之后,我注意到我的应用程序已添加到应用程序列表中,可以访问安装来自未知来源的应用程序(特殊权限)。我检查了AndroidManifest.xml该库的依赖项之一的文件(com.huawei.hms.base.availableupdate)并看到它有这个特殊权限:

<!-- If it is Android 8.0, the targetSdkVersion of the application compilation configuration>=26, please be sure to add the following permissions --> 
<uses-permission  android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

那么为什么 PushKit 需要这个权限呢?我不希望我的应用程序使用此权限。如果我用这段代码删除它,会出现问题(崩溃):

<uses-permission
        android:name="android.permission.REQUEST_INSTALL_PACKAGES"
        tools:node="remove"/>

UPDATE

如果删除该权限,在华为手机上不会受到影响,但在非华为手机上可能无法安装HMS Core APK。

会不会因为升级失败而导致我们的应用程序崩溃?--不会,只会使应用程序无法自动升级,必须卸载并下载新版本。


<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

该权限用于更新HMS Core和推送APK。推送强烈依赖HMS Core和推送APK。如果不授予该权限,可能会导致应用程序安装失败,导致HMS和推送APK升级失败。

因此,此许可是强制性的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么HMS PushKit需要android.permission.REQUEST_INSTALL_PACKAGES 的相关文章

随机推荐