2016-01-14 4 views
2

В моем проекте подразумевается наличие стандартного (например, ненастроенного) телефона Android, подключенного к ПК с помощью Bluetooth и Wi-Fi, но сам телефон физически недоступен (он находится в закрытой пластиковой коробке) и не предназначен для использования человеком ,Перезагрузите телефон Android через bluetooth?

Есть ли способ перезагрузить телефон Android, отправив ему какую-то команду по Bluetooth или Wi-Fi?

ответ

1

Да, но это сложно.

Существует несколько сценариев, но единственным условием является то, что связь Bluetooth или Wi-Fi устанавливается и поддерживается сторонним приложением и что у вас есть доступ к коду этого конкретного приложения (или даже лучше , вы являетесь разработчиком этого приложения).

Прежде всего: приложение, о котором идет речь, должно иметь возможность получить команду Bluetooth или Wi-Fi, требующих перезагрузки.

Если у вас нет доступа к коду приложения или нет приложения стороннего разработчика (что означает его ОС (Android), который управляет связью), который не будет работать вообще.

Теперь, на сложную часть. Простейший способ заключается в том, что данное устройство внедрено, и вашему приложению может быть предоставлено разрешение суперпользователя (root). В этом случае, как только он получает команду перезагрузки, он может выполнить процесс перезагрузки следующим образом:.

Runtime.getRuntime() Exec (новый String [] { "/ система/бен/су",» -c "," перезагрузить сейчас "});

или

Runtime.getRuntime() Exec (новая строка [] { "/ система/xbin/су", "- с", "перезагрузка сейчас"}).

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

Теперь, если у вас нет корневого устройства и/или вы не можете его запустить, вы можете сделать это, если и только если вы подписываете приложение как системное приложение.

Подробнее здесь: https://stackoverflow.com/a/4966542/3535408

Я надеюсь, что это помогает!

+0

Это то, чего я боялся. Я действительно разрабатываю приложение для телефона, а также для ПК, с которым он разговаривает, хотя я сомневаюсь, что смогу использовать любые системные подписи. Спасибо за информацию. – Wossname

+0

Я никогда не пробовал системные подписи, я даже не слышал об этом, пока я не искал его для вашего вопроса. но почему вы не сможете это сделать? У вас есть некоторые ограничения, некоторые ограничения? Надеюсь, вы заработаете ;-) – Mackovich

+0

Да, у нас есть некоторые странные ограничения (это рабочий проект, поэтому я не могу вдаваться в подробности). Но в основном мы хотим сохранить поведение телефона как «заводское по умолчанию», насколько это возможно, и не вмешиваться в слишком низкий уровень в ОС. В какой-то момент мне придется подробно изучить детали подписей, возможно, это вероятность того, что это побочные эффекты не слишком суровые. – Wossname

Смежные вопросы