为何我的应用程序抛出`android.permission.REBOOT SecurityException`? [英] Why does my app throw an `android.permission.REBOOT SecurityException`?

查看:3642
本文介绍了为何我的应用程序抛出`android.permission.REBOOT SecurityException`?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写了一个Android应用程序,使用 android.os.PowerManager.reboot(),和我说<使用-许可安卓名=android.permission.REBOOT/> 在我的的Andr​​oidManifest.xml 。然而,当我运行的应用程序,它总是抛出以下异常:

I wrote an Android app that uses android.os.PowerManager.reboot(), and I added <uses-permission android:name="android.permission.REBOOT" /> in my AndroidManifest.xml. However, when I run the app, it always throws the following exception:

java.lang.SecurityException: Neither user 10039 nor current process has android.permission.REBOOT. at android.os.Parcel.readException(Parcel.java:1247)
at android.os.Parcel.readException(Parcel.java:1247)
at android.os.Parcel.readException(Parcel.java:1235)
at android.os.IPowerManager$Stub$Proxy.reboot(IPowerManager.java:427)
at android.os.PowerManager.reboot(PowerManager.java:481)
at Test.testPower(Test.java:374)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)
at android.os.Parcel.readException(Parcel.java:1247)
at android.os.Parcel.readException(Parcel.java:1235)
at android.os.IPowerManager$Stub$Proxy.reboot(IPowerManager.java:427)
at android.os.PowerManager.reboot(PowerManager.java:481)
at com.fsl.cts.FSLPlaybackTest.testPower(FSLPlaybackTest.java:374)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

是什么我做错了,还是升级Froyo有一些问题,重新启动?

Is the anything I'm doing wrong, or does froyo have some problem with rebooting?

推荐答案

您无法获得此权限。只有系统的应用,并与用于签署的固件相同的密钥签名的应用程序将能够获得这个权限。

You cannot get this permission. Only system applications and applications signed with the same key that was used to sign the firmware will be able to get that permission.

为什么你需要重新启动?如果你告诉重启的必要性,那么可能会有人可以建议你一个更好的方式来完成同样的事情,无需重新启动。

Why do you need to reboot? If you tell the necessity of rebooting, then may be someone can suggest you a better way to accomplish the same thing without rebooting.

这篇关于为何我的应用程序抛出`android.permission.REBOOT SecurityException`?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆