我们开发了一个应用程序,该应用程序需要多个权限才能在后台获取用户的位置。
我们在请求华为设备上的必需权限时遇到问题。似乎除了位置许可和将应用程序从电池优化中列入白名单之外,还需要执行其他步骤才能禁用电池优化并启用自动启动:
问题是我们找不到自动向用户请求权限的方法,而唯一的方法就是让用户手动进入这些屏幕并更改设置。
我们确实找到了一条“半路”进入应用程序设置的快捷方式:
Intent intent = new
Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:"+context.getPackageName()));
但是用户仍然需要执行多个不直观的操作。
我们的目标:
是否可以使用华为特定的SDK扩展?
答案 0 :(得分:0)
您是否希望您的应用程序显示一个权限弹出窗口,以便用户可以轻松地为您的应用程序分配相关权限?
如果是,则可以将HMS Core Location Kit集成到您的应用程序中。在执行需要权限的操作之前,您的应用会动态检查其权限。
如果您的应用没有所需的权限,它将显示一个弹出窗口,提示用户分配权限。您可以用很少的代码行实现弹出窗口,并且用户可以轻松地在弹出窗口中分配权限。有关详细信息,请访问https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/location-guidev4。 除了动态授权外,别忘了在清单文件中申请静态权限。