ルート化されたデバイスを再起動するために使用できるソリューションを探しています。ここで述べたように、デバイスの再起動はユーザーにとって非常に貧弱な設計であり、実際にはアプリケーション向けではないことを私は知っています。主な目的は、テスト中に電話を再起動することです (私はビデオ チャット アプリケーションで作業しており、すべてがうまくいかなくなったときに再起動する必要がある場合があります)。
とにかく使用できないACTION_REBOOTadb shell
で通常の再起動を行うよりも、端末 (または ConnectBot など) で再起動を使用して電話を再起動する方がはるかに速いことがわかりました。
今のところ、スーパーユーザー権限を取得できます。
Process root = Runtime.getRuntime().exec("su");
しかし、実際の再起動はできません。G1 (HTC) と Galaxy S (Samsung) を試してみましたが、成功しませんでした。再起動実行可能ファイルを見つけました/system/bin/reboot
ここに私の試みのいくつかがあります:
Process reboot = Runtime.getRuntime().exec("/system/bin/reboot");
Process reboot = Runtime.getRuntime().exec("reboot");
Process reboot = Runtime.getRuntime().exec("su reboot");
Runtime.exec() の落とし穴に関するこの記事を読みましたが、この場合はそうではないと思います。
ConnectBot を使用すると、このようなアクションを実行できるようになるので、それが可能であると確信しています。ConnectBot のコードを見に行くように言わないでください。これは大きくて複雑なプロジェクトです :)
この問題について私を助けてもらえますか?
ありがとう。