Android ICS關機跟重新啟動功能研究

發表于:2013-01-23來源:Csdn作者:sundesheng125點擊數: 標簽:Android
Android ICS關機跟重新啟動功能研究! 最近研究了一下android關機跟重新啟動功能。網上的文章也不少,做法也有一些。筆者試過了幾種方法,下面介紹一下: 、 Android重啟功能

  最近研究了一下android關機跟重新啟動功能。網上的文章也不少,做法也有一些。筆者試過了幾種方法,下面介紹一下:

  <一>、 Android重啟功能

  在androidjava層執行shell命令來完成。但是筆者在開發測試中同樣的代碼發現用Eng編譯出的版本可以重新啟動,user版本不能完成重啟,掛在關機那個界面。

  /*****************************************************************************************************/

  聲明:本博內容均由http://blog.csdn.net/sundesheng125原創,轉載請注明出處,謝謝!

  /*****************************************************************************************************/

  用shell命令,eng版本能完成重新啟動的代碼如下:

  [java] view plaincopyprint?

  String cmd = "su -c reboot";

  exeShell(cmd);

  public void exeShell(String cmd){

  try{

  Process p = Runtime.getRuntime().exec(cmd);

  BufferedReader in = new BufferedReader(

  new InputStreamReader(

  p.getInputStream()));

  String line = null;

  while ((line = in.readLine()) != null) {

  Log.i("exeShell",line);

  }

  }

  catch(Throwable t)

  {

  t.printStackTrace();

  }

  }

  String cmd = "su -c reboot";

  exeShell(cmd);

  public void exeShell(String cmd){

  try{

  Process p = Runtime.getRuntime().exec(cmd);

  BufferedReader in = new BufferedReader(

  new InputStreamReader(

  p.getInputStream()));

  String line = null;

  while ((line = in.readLine()) != null) {

  Log.i("exeShell",line);

  }

  }

  catch(Throwable t)

  {

  t.printStackTrace();

  }

  }

  提示的錯誤是權限問題,但是代碼是一樣的,manifest里面也給了REBOOT權限,在網上找了一下解釋還是沒有什么好的解決方案,錯誤信息如下:

  [plain] view plaincopyprint?

  01-01 08:05:26.319 W/System.err( 776): java.io.IOException: Error running exec(). Command: [su, -c, reboot] Working Directory: null Environment: null

  01-01 08:05:26.319 W/System.err( 776): at java.lang.ProcessManager.exec(ProcessManager.java:211)

  01-01 08:05:26.319 W/System.err( 776): at java.lang.Runtime.exec(Runtime.java:168)

  01-01 08:05:26.319 W/System.err( 776): at java.lang.Runtime.exec(Runtime.java:241)

  01-01 08:05:26.319 W/System.err( 776): at java.lang.Runtime.exec(Runtime.java:184)

  01-01 08:05:26.319 W/System.err( 776): at com.android.settings.DevelopmentSettings.exeShell(DevelopmentSettings.java:591)

  01-01 08:05:26.319 W/System.err( 776): at com.android.settings.DevelopmentSettings.onPreferenceChange(DevelopmentSettings.java:580)

  01-01 08:05:26.319 W/System.err( 776): at android.preference.Preference.callChangeListener(Preference.java:885)

  01-01 08:05:26.319 W/System.err( 776): at android.preference.ListPreference.onDialogClosed(ListPreference.java:265)

  01-01 08:05:26.329 W/System.err( 776): at android.preference.DialogPreference.onDismiss(DialogPreference.java:381)

  01-01 08:05:26.329 W/System.err( 776): at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1235)

  01-01 08:05:26.329 W/System.err( 776): at android.os.Handler.dispatchMessage(Handler.java:99)

  01-01 08:05:26.329 W/System.err( 776): at android.os.Looper.loop(Looper.java:137)

  01-01 08:05:26.329 W/System.err( 776): at android.app.ActivityThread.main(ActivityThread.java:4424)

  01-01 08:05:26.329 W/System.err( 776): at java.lang.reflect.Method.invokeNative(Native Method)

  01-01 08:05:26.329 W/System.err( 776): at java.lang.reflect.Method.invoke(Method.java:511)

  01-01 08:05:26.329 W/System.err( 776): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

  01-01 08:05:26.329 W/System.err( 776): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)

  01-01 08:05:26.329 W/System.err( 776): at dalvik.system.NativeStart.main(Native Method)

  01-01 08:05:26.329 W/System.err( 776): Caused by: java.io.IOException: Permission denied

  01-01 08:05:26.329 W/System.err( 776): at java.lang.ProcessManager.exec(Native Method)

  01-01 08:05:26.339 W/System.err( 776): at java.lang.ProcessManager.exec(ProcessManager.java:209)

  01-01 08:05:26.339 W/System.err( 776): ... 17 more

  01-01 08:05:26.369 W/InputManagerService( 174): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4138ecb8

  01-01 08:05:26.319 W/System.err( 776): java.io.IOException: Error running exec(). Command: [su, -c, reboot] Working Directory: null Environment: null

原文轉自:http://blog.csdn.net/sundesheng125/article/details/8494810

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97