Chr*_*ing 7 java android android-location
我需要用户检查并设置对 ACCESS_BACKGROUND_LOCATION(“始终允许”)的权限,而没有“仅在使用应用程序时允许”选项。即使应用程序被最小化,我的 GPS 跟踪应用程序也需要继续访问位置。
我已经有权限为 Android 9 的 ACCESS_FINE_LOCATION 工作。
AndroidManifest.xml--------------------------------------------------->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
TrackingActivity.java (need to include ACCESS_BACKGROUND_LOCATION)---->
private void permissionCheck1() {
int permissionCheck1 = ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION);
if (permissionCheck1 != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
} else {
grantedSetupGPSandMap();
}
}
Run Code Online (Sandbox Code Playgroud)
如果可能,我需要唯一的权限选项是“始终允许”。检查和设置权限时如何设置?
gre*_*e31 18
对于 Android 10,如果:
ACCESS_BACKGROUND_LOCATION,并且:android:foregroundServiceType="location"清单中设置的属性的前台服务,然后:系统将仅向用户提供“仅在使用应用程序时允许”和“拒绝”选项,参考位置权限。
我意识到这与您所要求的完全相反,但重点是,在这种情况下,“仅在使用应用程序时允许”实际上就像“始终允许”一样,前提是上述前台服务正在运行。
即使应用程序在屏幕外,您也能收到位置更新。并且用户不能选择只允许部分位置更新;他们必须在完全允许或完全拒绝之间做出选择。
编辑
这个答案还假设你targetSdkVersion是 29。
| 归档时间: |
|
| 查看次数: |
8948 次 |
| 最近记录: |