在Android 10中,当请求某些权限(如位置)时,系统会提示用户3个选项:
允许应用程序访问此设备的位置?
-始终允许
-仅在使用该应用程序时允许
-拒绝
是否有办法知道已授予哪些权限?我使用以下代码来检查位置是否已授予:
boolean hasPermission = (ContextCompat.checkSelfPermission(oContext, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED);
但我需要知道它是否已被授予“始终”或仅在“使用应用程序”时。 我真正需要的是一直拥有权限,因为我的应用程序具有后台位置服务。所以我需要知道是否已经授予了该权限,或者有没有可能请求该权限但无法只允许“仅在使用该应用程序时”。
requestPermissions(Context, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 123);