gpt4 book ai didi

java - Android 10 (Q) ACCESS_BACKGROUND_LOCATION 权限

转载 作者:行者123 更新时间:2023-12-01 11:30:59 24 4
gpt4 key购买 nike

我需要用户检查并将权限设置为 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" />
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();
}
}

如果可能,我需要唯一的权限选项是“始终允许”。检查和设置权限时如何设置?

最佳答案

对于 Android 10,如果:

  • 你省略了 ACCESS_BACKGROUND_LOCATION , 和:
  • 您使用带有 android:foregroundServiceType="location" 的前台服务在 list 中设置属性,然后:

  • 系统将仅向用户提供“仅在使用应用程序时允许”和“拒绝”选项,引用位置权限。

    我意识到这与您所要求的完全相反,但关键是,在这种情况下,“仅在使用应用程序时允许”实际上表现得像“一直允许”,前提是上述前台服务正在运行。

    即使应用程序不在屏幕上,您也将能够接收位置更新。并且用户无法选择仅部分允许位置更新;他们必须在完全允许或完全拒绝之间做出选择。

    编辑

    此答案还假设您的 targetSdkVersion是 29。

    关于java - Android 10 (Q) ACCESS_BACKGROUND_LOCATION 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58816066/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com