Android Какие разрешения требуются для вызова PowerManager.goToSleep(n), чтобы перевести устройство в спящий режим?

Уже установлен android.permissions.DEVICE_POWER в манифесте моего приложения. Все еще жалуется, что ни пользователь, ни процесс не имеют такого разрешения, когда я вызываю PowerManager.gotoSleep(n) в рамках действия. Какие другие настройки необходимы для этой работы? Спасибо Это на моем телефоне Samsung ATT

3 ответа

DEVICE_POWER - это разрешение уровня 2 и защищенное разрешение, и, следовательно, оно не предоставляется ни одному приложению, запрашивающему его через манифест, для успешного получения этого разрешения нам необходимо иметь сертификат Platform в нашем файле make и общий идентификатор пользователя, заданный в manifest как system..,

LOCAL_CERTIFICATE := platform (makefile entry)

android.uid.system (shared  user id )

Там нет пути вокруг этого, я посмотрел вокруг, не нашел...

В старой версии я читал, что это защищенное подписью разрешение, то есть разрешено только приложениям, подписанным как системные приложения.

java -jar signapk.jar platform.x509.pem platform.pk8 bin/TestApp-unsigned.apk bin/TestApp.apk

У меня была точно такая же проблема, и это сработало для меня. Получите файл signapk.jar по https://github.com/appium/sign. репозиторий также включает в себя тестовый сертификат Android, который работает, например, с корневым уголком.

Другие вопросы по тегам