Мы разрабатываем приложение, для которого требуется несколько разрешений, чтобы получить местоположение пользователя в фоновом режиме.
У нас проблемы с запросом необходимых разрешений на устройствах Huawei. Похоже, что помимо разрешения местоположения и белого списка приложения из оптимизаций батареи, требуется дополнительный шаг, чтобы отключить оптимизацию батареи и включить автоматический запуск:
Проблема в том, что мы не нашли способа автоматически запрашивать разрешение у пользователя, и единственный найденный нами способ - заставить пользователя вручную перейти на эти экраны и изменить настройки.
Мы нашли ярлык, который приведет нас «на полпути» к настройкам приложения:
Intent intent = new
Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:"+context.getPackageName()));
Но от пользователя все еще требуются многочисленные неинтуитивные действия.
Наша цель:
Мы бы очень хотели упростить процесс для пользователя. Оптимально, чтобы появилось системное диалоговое окно, которое запрашивает у пользователя разрешения, а не заставляет его вручную изменять настройки, подобно белому списку обычных устройств Android:
Возможно ли использование специального расширения SDK для Huawei?
- Если (1) невозможно, по крайней мере нам нужен способ узнать, изменяет ли пользователь эти настройки или нет. В настоящее время мы не знаем и не можем сообщить пользователю, правильно ли работает приложение!