我们开发了一个应用程序,它需要多个权限才能在后台获取用户的位置。
我们在请求小米设备所需的权限时遇到问题。似乎除了位置许可和电池优化中的应用程序白名单之外,还需要两个额外的步骤,特定于小米设备:
- 禁用电池保护程序:
- 启用自动启动:
问题是我们发现无法自动向用户请求权限,我们发现的唯一方法是让用户手动转到这些屏幕并更改设置。
我们确实找到了让我们“半途而废”的捷径。
- 进入电源设置:
Intent intent = new Intent("miui.intent.action.POWER_HIDE_MODE_APP_LIST").addCategory(Intent.CATEGORY_DEFAULT);
- 进入自动启动设置:
Intent intent = new Intent("miui.intent.action.OP_AUTO_START").addCategory(Intent.CATEGORY_DEFAULT);
但是用户仍然需要多个非直观的操作。
我们的目的:
- 我们非常希望简化用户的流程。最好是出现一个询问用户权限的系统对话框,而不是让他手动更改设置,就像普通 Android 设备的白名单一样:
是否可以使用小米特定的 SDK 扩展?
- 如果(1)不可能,至少我们需要一种方法来知道用户是否更改了这些设置。目前我们不知道也无法通知用户应用程序是否正常工作!