AndroID ICS关机跟重新启动功能研究
最近研究了一下androID关机跟重新启动功能。网上的文章也不少,做法也有一些。笔者试过了几种方法,下面介绍一下:
<一>、 AndroID重启功能
在androIDjava层执行shell命令来完成。但是笔者在开发测试中同样的代码发现用Eng编译出的版本可以重新启动,user版本不能完成重启,挂在关机那个界面。
/*****************************************************************************************************/
声明:本博内容均由http://blog.csdn.net/sundesheng125原创,转载请注明出处,谢谢!
/*****************************************************************************************************/
用shell命令,eng版本能完成重新启动的代码如下:
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权限,在网上找了一下解释还是没有什么好的解决方案,错误信息如下:
01-01 08:05:26.319 W/System.err( 776): java.io.IOException: Error running exec(). Command: [su, -c, reboot] Working Directory: null Environment: null01-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 denIEd01-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 more01-01 08:05:26.369 W/inputManagerService( 174): Window already focused, ignoring focus gain of: com.androID.internal.vIEw.IinputMethodClIEnt$Stub$Proxy@4138ecb8
点赞收藏分享文章举报edsam 博客专家 发布了152 篇原创文章 · 获赞 484 · 访问量 47万+他的留言板 关注 总结
以上是内存溢出为你收集整理的Android ICS关机跟重新启动功能研究全部内容,希望文章能够帮你解决Android ICS关机跟重新启动功能研究所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)