web-dev-qa-db-ja.com

電源オフAndroid Things

通常、Androidデバイスの電源を切るには、もちろん電源ボタンを使用します。

adb Shellおよびreboot -p

しかしAndroid Thingsでは、デバイスをシャットダウンする方法がわかりません。問題ない場合は、このためにRaspberry Piの電力をカットしたいだけですが、それは受け入れられますか? SDカードが破損する可能性がありますか?

33
Boy

Android(および拡張機能により、Android Things)は突然電源が切れても問題ありません。コアオペレーティングシステムはファイルシステムの読み取り専用パーティションに格納されているため、リスクはありません。失敗した飛行中の書き込みからOSが破損する。

また、reboot -pは、テストまたは開発でそれを使用したい場合でも機能するはずです。さらに進んで、GpioInputDriverに接続して、KEYCODE_POWER必要に応じて独自の電源ボタンをシステムに追加します。

23
Devunwired

私はDaveの回答が好きで、2つのことを追加したかっただけです。

Android Thingsデバイスをプログラムでいくつかの方法でシャットダウンできますが、それぞれに警告が付いています。ここで説明します: デバイスをプログラムでオフにする

あなたが言ったようにAndroidThingsデバイスの電源を切るには、ADBを介して実行できます:

 adb Shell reboot -p

-p--poweroff

21
Blundell

...そしてプログラムで

電源オフ

Runtime.getRuntime().exec("reboot -p");

および再起動

Runtime.getRuntime().exec("reboot");

ExplanationrebootバイナリはAndroid世界のモノの画像-実行許可、つまりrwxr-xr-xは、any appプロセス内から実行できるようにします。つまり、アプリプロセスはsuを取得する必要はありませんほとんどの在庫にAndroid携帯電話/タブレットなので、AndroidManifest.xmlに追加の許可は必要ありません。

注意:新しいOSバージョンでセキュリティモデルが変更された場合、このアプローチは機能しない可能性があります。

11
Onik