【问题标题】:App may need approval for background location应用程序可能需要批准后台位置
【发布时间】:2021-01-18 11:36:32
【问题描述】:

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

我查看了该应用,它似乎已经在前台...我对清单的权限是:

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

另外我根据用户需求请求权限...那有什么问题?

【问题讨论】:

    标签: android android-permissions android-location


    【解决方案1】:

    如果您关注link,您会发现在哪种情况下您需要前台权限。

    在链接中清楚地写着:

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

    • 在导航应用程序中,有一项功能允许用户获取路线指示。
    • 在消息传递应用中,有一项功能允许用户与其他用户分享他们当前的位置。

    在 Android 10(API 级别 29)及更高版本上,您必须声明此前台服务类型。

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

    【讨论】:

    • 什么是“我的导航服务”?它说:在项目或库中找不到清单中引用的未解析类 'CompassService' 类 com.thors.compass.CompassService
    • 您可以点击此链接:thakkarkomal009.medium.com/… 创建获取位置信息的前台服务。只需将“MyNavigationService”替换为您的前台服务名称即可。
    • 谢谢!问题是教程使用的 kotlin 代码在我的 java 应用程序中没有很好地集成......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    相关资源
    最近更新 更多