通常、Androidデバイスの電源を切るには、もちろん電源ボタンを使用します。
adb Shell
およびreboot -p
。
しかしAndroid Thingsでは、デバイスをシャットダウンする方法がわかりません。問題ない場合は、このためにRaspberry Piの電力をカットしたいだけですが、それは受け入れられますか? SDカードが破損する可能性がありますか?
Android(および拡張機能により、Android Things)は突然電源が切れても問題ありません。コアオペレーティングシステムはファイルシステムの読み取り専用パーティションに格納されているため、リスクはありません。失敗した飛行中の書き込みからOSが破損する。
また、reboot -p
は、テストまたは開発でそれを使用したい場合でも機能するはずです。さらに進んで、Gpio
をInputDriver
に接続して、KEYCODE_POWER
必要に応じて独自の電源ボタンをシステムに追加します。
私はDaveの回答が好きで、2つのことを追加したかっただけです。
Android Thingsデバイスをプログラムでいくつかの方法でシャットダウンできますが、それぞれに警告が付いています。ここで説明します: デバイスをプログラムでオフにする
あなたが言ったようにAndroidThingsデバイスの電源を切るには、ADBを介して実行できます:
adb Shell reboot -p
(-p
は--poweroff
)
...そしてプログラムで
電源オフ
Runtime.getRuntime().exec("reboot -p");
および再起動
Runtime.getRuntime().exec("reboot");
Explanation
:reboot
バイナリはAndroid世界のモノの画像-実行許可、つまりrwxr-xr-x
は、any appプロセス内から実行できるようにします。つまり、アプリプロセスはsu
を取得する必要はありませんほとんどの在庫にAndroid携帯電話/タブレットなので、AndroidManifest.xml
に追加の許可は必要ありません。
注意:新しいOSバージョンでセキュリティモデルが変更された場合、このアプローチは機能しない可能性があります。