ボタンを押したときにモバイルを再起動したい.そのために私はこれらを書いた..
PowerManager pm;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
Button test = (Button) findViewById(R.id.button1);
test.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
Process proc = Runtime.getRuntime().exec(new String[] {"su", "-c", "reboot" });
int result = proc.waitFor();
Toast.makeText(ForTestActivity.this, "INt:"+result, Toast.LENGTH_SHORT).show();
} catch (Exception ex) {
Log.i("XXXXXXXXXXXX", "Could not reboot", ex);
}
}
});
}
これはエミュレーターでは機能しません。このアプリケーションの開発には android2.3.3 を使用しています。ボタンを押してもエラーは発生せず、何も起こりませんでした。トーストは結果を1として表示していました。
その後、このコードも試しました..
Process p = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
os.writeBytes("reboot"+"\n");
os.writeBytes("exit\n");
os.flush();
同じ結果です。必要な権限も追加しました。誰かアイデアがありますか?
[どういうわけか、ボタンを押した後に電話を再起動 (またはシャットダウン) したい。]