请问:如何在代码中重启手机? 如题我在SDK文档里也没找着相关应用的介绍,不知道有没有朋友做过这方面的,了解的帮个忙啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 搜了下好像没有这些API,但是ANDROID source里面有关机的feature,我觉得你跟一下它的代码应该知道怎么重启,不过说穿了重启就是往linux发一个reboot命令,你可以从这两方面下手~~ 嗯,我也想过通过执行命令来重启,但现在也不知道如何在代码中执行Linux命令啊 要不你自己做了个JNI接口试试,在C语言里面直接system("reboot");如果权限不出问题的话,应该是可以的 能直接通过Java执行Linux命令不? Context.sendOrderedBroadcast(new Intent(Intent.ACTION_SHUTDOWN), null, br, mHandler, 0, null, null);试一下 已解决:Intent i = new Intent(Intent.ACTION_REBOOT);i.setAction(Intent.ACTION_REBOOT);i.putExtra("nowait", 1); i.putExtra("interval", 1); i.putExtra("window", 0); sendBroadcast(i); 需在Android.mk中添加:LOCAL_CERTIFICATE := platform包含Android.mk的工程须在Linux下编译才有效。 试了这种方法,应该是权限不够,其他命令都可以,如system("mkdir /sdcard/test")没问题,reboot不行,su后reboot也不行,也不知道怎么获取权限。 Android source本身就有关机的代码,你找出来就能用了~~ 看问题要看本质,任何系统级应用都会到linux的系统调用中去, 对于reboot来讲,会调用到int reboot (int mode) 或者直接用 __reboot来做, 所以你只要change mode的值就ok, mode 里有#define RB_AUTOBOOT LINUX_REBOOT_CMD_RESTART#define RB_HALT_SYSTEM LINUX_REBOOT_CMD_HALT#define RB_ENABLE_CAD LINUX_REBOOT_CMD_CAD_ON#define RB_DISABLE_CAD LINUX_REBOOT_CMD_CAD_OFF#define RB_POWER_OFF LINUX_REBOOT_CMD_POWER_OFF这些可以选择,power off , autoboot 对应的就是开关机了。 当然您需要root或者system的权限,或者SHELL好像也没问题。 String cmd = "su -c reboot";//让手机从启 try { Runtime.getRuntime().exec(cmd); } catch (IOException e) { // TODO Auto-generated catch block new AlertDialog.Builder(this).setTitle("Error").setMessage( e.getMessage()).setPositiveButton("OK", null).show(); } 请问你在Manifest中加入权限了吗?比如:android:sharedUserId="android.uid.system"没有报类似于INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误吗? 我的报错了,为什么加进哪个权限虚拟机运行不起来,而且没有Intent.ACTION_REQUEST_SHUTDOWN这个, you may refer to this link:http://stackoverflow.com/questions/3456467/why-does-my-app-throw-an-android-permission-reboot-securityexception 4.0返回打开数据库页面出现的问题 如何通过代码移动程序到SD卡? 或者ADB把一个在内存的程序移到SD卡.100分.够高了吧.. android MENU开发问题 关于在android上AspriseOCR的问题!急呀!!! 软件怎么判断程序是从市场安装? [入门必读]android移动开发 十个 案例 值得学习打包 一个关于android系统网络框架的问题。 android sdk 打开异常 新手请教UI设计、切图等实现 怎样使图片适应手机屏幕? 关于ListView实时数据更新问题 android相机开发setParameters failed错误
嗯,我也想过通过执行命令来重启,但现在也不知道如何在代码中执行Linux命令啊
br, mHandler, 0, null, null);
试一下
i.setAction(Intent.ACTION_REBOOT);
i.putExtra("nowait", 1);
i.putExtra("interval", 1);
i.putExtra("window", 0);
sendBroadcast(i); 需在Android.mk中添加:LOCAL_CERTIFICATE := platform
包含Android.mk的工程须在Linux下编译才有效。
试了这种方法,应该是权限不够,其他命令都可以,如system("mkdir /sdcard/test")没问题,reboot不行,su后reboot也不行,也不知道怎么获取权限。
#define RB_AUTOBOOT LINUX_REBOOT_CMD_RESTART
#define RB_HALT_SYSTEM LINUX_REBOOT_CMD_HALT
#define RB_ENABLE_CAD LINUX_REBOOT_CMD_CAD_ON
#define RB_DISABLE_CAD LINUX_REBOOT_CMD_CAD_OFF
#define RB_POWER_OFF LINUX_REBOOT_CMD_POWER_OFF这些可以选择,power off , autoboot 对应的就是开关机了。 当然您需要root或者system的权限,或者SHELL好像也没问题。
try {
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
// TODO Auto-generated catch block
new AlertDialog.Builder(this).setTitle("Error").setMessage(
e.getMessage()).setPositiveButton("OK", null).show();
}
比如:android:sharedUserId="android.uid.system"
没有报类似于INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误吗?
http://stackoverflow.com/questions/3456467/why-does-my-app-throw-an-android-permission-reboot-securityexception