`
lifeijiyuan
  • 浏览: 40377 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

reboot

 
阅读更多
刚才想怎么把手机重启实现了,结果google以android reboot搜索,竟然没有结果,可能是关键字有问题。只好换百度,还好,有答案了。以下是几种解决方案:
第一种是调用shell里面的reboot命令。

public class RebootAndroid extends Activity implements OnClickListener {
private Button btnReboot;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnReboot = (Button) findViewById(R.id.btnReboot);
btnReboot.setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

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();
}
}
}

还有一种是调用系统提供的api

关机:
In frameworks/base/services/java/com/android/server/BatteryService.java
Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);
intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
重启:
Intent i = new Intent(Intent.ACTION_REBOOT);
i.putExtra("nowait", 1);
i.putExtra("interval", 1);
i.putExtra("window", 0);
sendBroadcast(i);
还有一种,没有测试的:

//重启代码位于frameworks\base\core\jni\android_os_Power.cpp,里面有
static void android_os_Power_shutdown(JNIEnv *env, jobject clazz)
{
sync();
#ifdef HAVE_ANDROID_OS
reboot(RB_POWER_OFF);
#endif
}

static void android_os_Power_reboot(JNIEnv *env, jobject clazz, jstring reason)
{
sync();
#ifdef HAVE_ANDROID_OS
if (reason == NULL) {
reboot(RB_AUTOBOOT);
} else {
const char *chars = env->GetStringUTFChars(reason, NULL);
__reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_RESTART2, (char*) chars);
env->ReleaseStringUTFChars(reason, chars); // In case it fails.
}
jniThrowIOException(env, errno);
#endif
}

这个经过验证:
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
pm.reboot("test");

天蝎座2010-12-31 15:16:50 [举报]

Android.mk:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := user
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := RebootTest
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
分享到:
评论

相关推荐

    Linux命令学习总结:详解reboot命令

    /sbin/reboot [-n] [-w] [-d] [-f] [-i] 或 reboot [-n] [-w] [-d] [-f] [-i] 命令参数: 参数 长参数 描叙 -d 重新启动时不把数据写入记录文件/var/tmp/wtmp -f 强制重新开机,不调用...

    apk文件 reboot(电视直播视频)

    apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视直播视频)apk文件 reboot(电视...

    纯DOS下面reboot.com重启工具

    4. 在DOS命令提示符下,键入`reboot`或`reset`,然后按回车键。 值得注意的是,由于DOS是一个早期的操作系统,它并不具备现代操作系统中的高级功能,如多任务处理、图形用户界面等。因此,在使用`reboot.com`或`...

    ACER_SUSPEND & REBOOT V1.1.RAR

    标题中的"ACER_SUSPEND & REBOOT V1.1.RAR"显然指的是一个针对ACER品牌计算机的系统挂起和重启工具的软件包。这个工具可能是由ACER官方或者第三方开发者设计,用于优化ACER电脑的休眠和重启功能,以提供更高效、稳定...

    root-reboot_apk

    安卓机轻松root,reboot

    多操作系统选择进入工具(Reboot-To)v4.9官方安装版

    如果你也有这样的烦恼,可以试试今天介绍的 Reboot-To 。 如何使用:安装后就可以直接使用了。右键点击托盘图标—— 「Operating Systems」 ——相应的操作系统,然后重启就会直接进入到该操作系统,无需要你在启动...

    Reboot to LibreELEC.apk

    Reboot to LibreELEC.apk About this Apk file Apk version 1.1 Apk size 1.3 MB File name me.thomastv.rebootupdate-v1.1.apk Support Android Android 4.4+ (KitKat) and later Category Free Android ...

    reboot utility (Windows)

    在Windows操作系统中,"reboot utility"是一个系统管理工具,主要用于重新启动计算机。这个功能是系统维护、故障排除或软件更新过程中的常见操作。了解和掌握如何正确使用这个工具对任何Windows用户都至关重要,特别...

    Reboot -控制电脑自动重启工具

    "Reboot - 控制电脑自动重启工具"是一个用于自动化计算机重启的应用程序,它与Windows操作系统内置的`shutdown -r`命令有所不同。这个工具可能提供了更灵活的选项或自定义设置,以便用户根据特定需求来安排电脑的...

    Android 关机和重启(reboot and shutdown)源码.rar

    - 当用户执行关机或重启操作时,系统会发送一个BroadcastIntent,通常为`ACTION_SHUTDOWN`或`ACTION_REBOOT`。开发者可以通过注册BroadcastReceiver来监听这些事件,以便在系统关机或重启前执行必要的清理工作。 2...

    android reboot

    标题“android reboot”涉及到的是Android系统中的重启功能,这通常是指一种自定义的或增强的重启机制,可能用于测试、调试或系统维护目的。在这个场景下,描述提到了一个自己制作的Android重启小程序的源码,它需要...

    cold-reboot,

    为此,"cold-reboot"应运而生,这是一个专为Android模拟器设计的开源工具,通过冷启动选项实现快速重启,无需保存或恢复状态快照,极大地提高了开发效率。 一、什么是"cold-reboot" "cold-reboot"是一个针对...

    android reboot 重启

    ### Android Reboot 重启知识点详解 #### 一、概述 在Android系统中,重启操作是一项基本功能,主要用于恢复系统的正常运行或更新系统等场景。本文将详细介绍两种实现Android重启的方法:一种是通过调用shell中的`...

    Android 关机和重启(reboot and shutdown)源码-IT计算机-毕业设计.zip

    本项目以"Android 关机和重启(reboot and shutdown)源码"为主题,为毕业设计提供了深入的学习资源,适合对Android系统内核感兴趣的开发者。 首先,我们要理解Android系统是如何处理关机和重启命令的。这两个操作...

    Reboot工具代码

    在Android系统中,"Reboot工具代码"是一个用于控制设备重启的重要组件。它不仅提供了基础的重启功能,还允许用户自定义重启的次数和时间,从而增强了设备管理的灵活性。这个工具对于开发者、系统管理员以及那些需要...

    AUTO REBOOT FOR UEFI SHELL

    AUTO REBOOT FOR UEFI SHELL APPLICATION

    linux 自动reboot 工具

    自己写的一个reboot的工具,可以直接运行begin.sh,也可以使用pygtk的界面,调用begin.sh(需要和pygtk的界面放在同一个目录)。有什么问题欢迎指出。rpm打包的spec我也写了,可以使用rpmbuild的命令去打包.因为我...

    RK Reboot.apk

    Rockchip方案reboot工具,注意,需要打开Debug模式推送至system/app中才可以使用

    reboot重启工具

    "reboot重启工具"是一款专为Windows操作系统设计的实用程序,它的主要功能是对系统进行重启操作,以便在安装更新、修复故障或者测试硬件稳定性时提供便捷。在日常使用计算机的过程中,有时我们需要重新启动电脑来...

    iReboot v2.0.zip

    iReboot 是Neosmart技术的简化版本,也是一个有效的重启助手工具,常驻系统任务栏,通过它用户可以选择下次重新启动要进入的系统(前提是你安装了多个操作系统). 这款软件的第一个版本出自2007年8月,之前的版本有一个...

Global site tag (gtag.js) - Google Analytics