如何授予Huawei Launcher设置SDK 23+的权限?

问题描述 投票:5回答:1

我正在尝试从Huawei Launcher Android 23+(需要运行时权限)访问有关通知标记的信息。

我已经在我的清单中有这些线:

<uses-permission
android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission
android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>

然而,我收到此消息的RuntimeException:

Permission Denial: reading com.huawei.android.launcher.LauncherProvider
uri content://com.huawei.android.launcher.settings/badge/ from pid=16687, 
uid=10192 requires com.huawei.android.launcher.permission.READ_SETTINGS, or grantUriPermission()

使用ActivityCompat.requestPermissions请求权限会立即返回"-1" == DENIED

即使尝试通过ADB设置权限也无济于事:

adb -d shell pm grant com.yandex.launcher com.huawei.android.launcher.permission.READ_SETTINGS
Operation not allowed: java.lang.SecurityException: Permission com.huawei.android.launcher.permission.READ_SETTINGS is not a changeable permission type

我试图通过授予URI访问权限

context.grantUriPermission(context.getPackageName(), getBadgeContentUri(), Intent.FLAG_GRANT_READ_URI_PERMISSION);

要么

context.grantUriPermission("com.huawei.android", getBadgeContentUri(), Intent.FLAG_GRANT_READ_URI_PERMISSION);

但这也无济于事。

那么我应该写什么才能获得适当的阅读权限:content://com.huawei.android.launcher.settings/badge/

android uri android-contentprovider badge huawei
1个回答
1
投票

你需要清单中的<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>

© www.soinside.com 2019 - 2024. All rights reserved.