检查是否总是授予 FOREGROUND_SERVICE 权限 returns false
checking if FOREGROUND_SERVICE permission is granted allways returns false
遵循迁移说明并将以下行添加到清单中:
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
我无法弄清楚为什么我得到一个失败的测试用例,其中未授予 android.permission.FOREGROUND_SERVICE
权限(至少在 运行 时间检查它时)。
基于 docs,其中规定 android.permission.FOREGROUND_SERVICE
应由系统自动授予。
apps wanting to use foreground services must now request the
FOREGROUND_SERVICE permission first. This is a normal permission, so
the system automatically grants it to the requesting app.
有人可以解释为什么我的测试用例(使用以下代码的变体)失败了吗?
assertEquals(ActivityCompat.checkSelfPermission(activity, "android.permission.FOREGROUND_SERVICE"), PackageManager.PERMISSION_GRANTED);
还没有! 我没有任何 SecurityException
抛出。我错过了什么?
FOREGROUND_SERVICE
不是 dangerous
权限。因此,它与 checkSelfPermission()
.
等运行时权限系统和方法无关
这是失败的,因为您可能 运行 在 API < 28 的设备上使用它。此方法字段仅适用于 API 28 及更高版本。如果您按照应有的方式编写 Manifest.permission.FOREGROUND_SERVICE
而不是纯字符串,Android Studio 会警告您。
遵循迁移说明并将以下行添加到清单中:
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
我无法弄清楚为什么我得到一个失败的测试用例,其中未授予 android.permission.FOREGROUND_SERVICE
权限(至少在 运行 时间检查它时)。
基于 docs,其中规定 android.permission.FOREGROUND_SERVICE
应由系统自动授予。
apps wanting to use foreground services must now request the FOREGROUND_SERVICE permission first. This is a normal permission, so the system automatically grants it to the requesting app.
有人可以解释为什么我的测试用例(使用以下代码的变体)失败了吗?
assertEquals(ActivityCompat.checkSelfPermission(activity, "android.permission.FOREGROUND_SERVICE"), PackageManager.PERMISSION_GRANTED);
还没有! 我没有任何 SecurityException
抛出。我错过了什么?
FOREGROUND_SERVICE
不是 dangerous
权限。因此,它与 checkSelfPermission()
.
这是失败的,因为您可能 运行 在 API < 28 的设备上使用它。此方法字段仅适用于 API 28 及更高版本。如果您按照应有的方式编写 Manifest.permission.FOREGROUND_SERVICE
而不是纯字符串,Android Studio 会警告您。