是否可以使用Android SDK或NDK重启手机?

时间:2010-05-11 09:06:34

标签: android android-ndk

是否可以通过在Dalvik VM上运行的应用程序(服务)以编程方式重新启动手机?

如果SDK不提供此功能,那么如何使用NDK并调用内核提供的某些功能?我知道这个选项不是首选(不够稳定的库),但如果它是唯一的选择,我也必须考虑这一点。

3 个答案:

答案 0 :(得分:3)

希望不是。 : - )

如果可以随意重启手机,恶意应用程序可能会随机安静地进行,让您的生活不快乐。

NDK在这里没有为您提供任何额外的功能,因为Android依赖于进程边界和Linux访问权限来实现安全性,而不是Java语言沙箱。

你为什么要这样做?也许还有其他方法可以完成你所追求的目标。

答案 1 :(得分:3)

api级别8后,

powermanager.reboot可用。 需要reboot permission

答案 2 :(得分:1)

我在Linux中找到了正确的系统调用,并且在摆弄了NDK / JNI路径后,我终于设法调用了该函数。结果是我需要超级用户权限。我有点猜测会是这种情况。

有没有办法克服这个问题?除了生根电话,我还在努力避免。

仍然可以使用adb重启手机。我想这与ddmd或其他一些守护进程通信,所以有可能以某种方式使用相同的功能吗?