Intereting Posts
Android Открыть меню с помощью кнопки Как переносить jaxb-аннотацию в библиотеку simpleXml? Как расширить класс SQLiteDatabase? HorizontalScrollView внутри ListView Тип new AdapterView.OnItemSelectedListener () {} должен реализовать унаследованную ошибку абстрактного метода. Затмение ОБНОВЛЕНО: Android: java.lang.RuntimeException: не удалось запустить Activity ComponentInfo Кнопка Android Action Вверх и кнопка Назад Bluetooth: передача вызова из источника для потоковой передачи? Как исправить ошибку «Сбой при подключении к службе камеры» в Android-эмуляторе Цвет дисплея ListView для Android Android & libgdx – как использовать ресурсы только один раз для настольных и андроидных проектов? Определение пользовательской цветовой переменной Volley NetworkImageView очищает кэшированное изображение Могу ли я использовать переменные в XML для Android? Прозрачная / Прозрачная строка состояния + КоординаторLayout + Панель инструментов + Фрагмент

Можно ли перезагрузить телефон с Android SDK или NDK?

Можно ли программно перезапустить телефон из приложения (службы), работающего поверх VM Dalvik?

Если SDK не предоставляет эту функцию, то как насчет использования NDK и вызова некоторых функций, предоставляемых ядром? Я знаю, что этот вариант не является предпочтительным (недостаточно стабильным libs), но если это единственный вариант, я тоже должен это учитывать.

Надеюсь, что нет. 🙂

Если бы можно было перезапустить телефон по своему усмотрению, злоумышленное приложение могло бы спокойно делать это с произвольными интервалами и сделать вашу жизнь несчастной.

NDK не предоставляет вам никаких дополнительных возможностей, поскольку Android использует границы процесса и права доступа к Linux для безопасности, а не изолированную программную среду на Java.

почему ты хочешь сделать это? Возможно, есть другой способ добиться того, что вам нужно.

Powermanager.reboot доступен, так как уровень api 8. требует перезагрузки

Я нашел правильные системные вызовы в Linux, которые могли бы сделать трюк, и после нескольких часов работы с NDK / JNI-концами мне наконец-то удалось вызвать функцию. В результате я получил разрешение суперпользователя. Я догадывался, что так будет.

Есть ли способ преодолеть эту проблему? Помимо укоренения телефона, которого я все еще пытаюсь избежать.

По-прежнему можно перезагрузить телефон с помощью adb. Я предполагаю, что общается с ddmd или каким-то другим демоном, так можно ли каким-то образом использовать одну и ту же функциональность?