华为Android设备-正确请求后台位置权限

时间:2019-03-20 11:45:38

标签: android android-permissions huawei

我们开发了一个应用程序,该应用程序需要多个权限才能在后台获取用户的位置。

我们在请求华为设备上的必需权限时遇到问题。似乎除了位置许可和将应用程序从电池优化中列入白名单之外,还需要执行其他步骤才能禁用电池优化并启用自动启动:

问题是我们找不到自动向用户请求权限的方法,而唯一的方法就是让用户手动进入这些屏幕并更改设置。

我们确实找到了一条“半路”进入应用程序设置的快捷方式:

Intent intent = new
Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:"+context.getPackageName()));

但是用户仍然需要执行多个不直观的操作。

我们的目标:

  1. 我们非常想让用户更轻松地进行操作。最好是出现一个系统对话框,询问用户权限,而不是让他手动更改设置,就像普通的Android设备列入白名单一样:

是否可以使用华为特定的SDK扩展?

  1. 如果不可能(1),则至少我们需要一种方法来知道用户是否更改了这些设置。当前,我们不知道并且无法通知用户该应用程序是否正常运行!

1 个答案:

答案 0 :(得分:0)

您是否希望您的应用程序显示一个权限弹出窗口,以便用户可以轻松地为您的应用程序分配相关权限?

如果是,则可以将HMS Core Location Kit集成到您的应用程序中。在执行需要权限的操作之前,您的应用会动态检查其权限。

如果您的应用没有所需的权限,它将显示一个弹出窗口,提示用户分配权限。您可以用很少的代码行实现弹出窗口,并且用户可以轻松地在弹出窗口中分配权限。有关详细信息,请访问https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/location-guidev4。 除了动态授权外,别忘了在清单文件中申请静态权限。