Мы разрабатываем приложение, которому требуется несколько разрешений, чтобы получить местоположение пользователя в фоновом режиме.
У нас возникли проблемы с запросом необходимых разрешений на устройствах Xiaomi. Кажется, что в дополнение к разрешению местоположения и белому списку приложений для оптимизации батареи требуются два дополнительных шага, характерных для устройств Xiaomi:
- Отключение энергосбережения:
- Включение автозапуска:
Проблема в том, что мы не нашли способа автоматически запросить разрешение у пользователя, и единственный способ, который мы нашли, — это заставить пользователя вручную перейти к этим экранам и изменить настройки.
Мы нашли короткие пути, чтобы пройти «на полпути».
- Переходим к настройкам питания:
Намерение намерение = новое намерение("miui.intent.action.POWER_HIDE_MODE_APP_LIST").addCategory(Intent.CATEGORY_DEFAULT);
- Переходим к настройкам автозапуска:
Намерение намерение = новое намерение("miui.intent.action.OP_AUTO_START").addCategory(Intent.CATEGORY_DEFAULT);
Но от пользователя по-прежнему требуется множество неинтуитивных действий.
Наша цель:
- Нам бы очень хотелось упростить процесс для пользователя. Оптимально, чтобы появился системный диалог, который запрашивает у пользователя разрешения, вместо того, чтобы вручную изменять настройки, как в белом списке обычных устройств Android:
Возможно ли использовать специальное расширение SDK Xiaomi?
- Если (1) невозможно, по крайней мере, нам нужен способ узнать, меняет ли пользователь эти настройки или нет. В настоящее время мы не знаем и не можем сообщить пользователю, работает ли приложение правильно или нет!
Заранее спасибо,
Таль