在 Android 10 中以编程方式授予权限不再有效

问题描述

我曾经通过使用在 Android Oreo 上以编程方式授予权限

adb shell pm grant [PACKAGE_NAME] [PERMISSION]

或者通过在有根设备上执行命令行

su -c pm grant [PACKAGE_NAME] [PERMISSION]

示例:

adb shell pm grant android.example.myapp android.permission.CAMERA

它曾经工作得很好,然后应用程序的权限设置面板显示授予的权限,我可以使用以下方法检查它:

getPackageManager().getPackageInfo(context.getPackageName(),PackageManager.GET_PERMISSIONS);

在 android 10 上应用相同的程序时出现问题:使用 getPackageManager().getPackageInfo(context.getPackageName(),PackageManager.GET_PERMISSIONS) 检查时,权限显示为已授予,但它们在应用程序权限设置面板中仍然未授权,当当应用尝试使用它不起作用的权限时尝试。

知道发生了什么以及应该如何在 Android 10 中以编程方式授予权限吗?

TIA

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...