Android 应用程序可能需要后台位置的批准

Android 应用程序可能需要后台位置的批准,android,android-permissions,android-location,Android,Android Permissions,Android Location,我收到一封来自谷歌的电子邮件,我的一个应用程序需要将位置权限从后台更改为前台 我看了一下应用程序,它似乎已经在前台了。。。我对清单的权限为: <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses

我收到一封来自谷歌的电子邮件,我的一个应用程序需要将位置权限从后台更改为前台

我看了一下应用程序,它似乎已经在前台了。。。我对清单的权限为:

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
此外,我请求用户请求的权限。。。那么,问题出在哪里?

如果您遵循,您将发现在哪种情况下需要前台权限

在链接中明确指出:

如果您的应用程序包含共享或接收位置的功能 信息只有一次,或在规定的时间内,然后 该功能需要前台位置访问。一些例子包括 以下:

在导航应用程序中,有一项功能允许用户获取转弯方向。 在消息传递应用程序中,有一项功能允许用户与其他用户共享其当前位置。 在Android10API级别29及更高版本上,必须声明此前台服务类型

<service
    android:name="MyNavigationService"
    android:foregroundServiceType="location" ... >
    <!-- Any inner elements would go here. -->
</service>

什么是MyNavigationService?它表示:在项目或库中找不到清单中引用的未解析类“CompassService”类com.thors.compass.CompassService。您可以遵循以下链接:创建获取位置信息的前台服务。只需将MyNavigationService替换为您的前台服务名称。谢谢!问题是,本教程使用的kotlin代码在我的java应用程序中没有很好地集成。。。。