问题描述
我收到一封来自 google 的电子邮件,说我的一个应用程序需要将位置权限从后台更改为前台....
我查看了应用程序,它似乎已经在前台...我对清单的权限是:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
我也是根据用户需求请求权限...那有什么问题?
解决方法
如果您按照 link 操作,您会发现在哪种情况下您需要前台权限。
在链接中明确指出:
如果您的应用包含共享或接收位置的功能 信息仅一次,或在规定的时间内,那么 功能需要前台位置访问权限。一些例子包括 以下:
- 在导航应用中,用户可以通过一项功能获取详细路线。
- 在消息传递应用中,一项功能允许用户与其他用户分享他们当前的位置。
在 Android 10(API 级别 29)及更高版本上,您必须声明此前台服务类型。
<service
android:name="MyNavigationService"
android:foregroundServiceType="location" ... >
<!-- Any inner elements would go here. -->
</service>