重启Android手机代码
作者:[tcconan] 来源:[13COM.NET收集整理] 浏览:[27] 评论:[0]
关键字:
package com.test.reboot;
import java.io.IOException;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
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();
   }
}
}
本文来自 13COM.NET, 本文地址:http://www.13com.net/article/article.asp?articleid=1103

android的重启(大部分是转载) 收藏
      前段时间有了个android的新项目,在做的过程中碰到一个问题,就是重启设备。

找了很多资料一直都不能正确的重启设备,直到看到这篇文章:http://topic.csdn.net/u/20100423/15/34a5ca3d-df13-4056-8e62-55f6c4c5e412.html

结合这篇文章我是这样做到重启的:

1.在AndroidManifest.xml中添加权限:android:sharedUserId="android.uid.system"。

2.在调用的地方如下:(和文章中提到的是一样的,下面还会有提到文章中讲的其它方法)

view plaincopy to clipboardprint?
Log.d(tag, "reboot");  
Intent reboot = new Intent(Intent.ACTION_REBOOT);  
reboot.putExtra("nowait", 1);  
reboot.putExtra("interval", 1);  
reboot.putExtra("window", 0);  
sendBroadcast(reboot); 
Log.d(tag, "reboot");
Intent reboot = new Intent(Intent.ACTION_REBOOT);
reboot.putExtra("nowait", 1);
reboot.putExtra("interval", 1);
reboot.putExtra("window", 0);
sendBroadcast(reboot);

在文章中有提到很多的方法其中之一wiki14写到:(这方法我没有试,有兴趣的可以去尝试下,也告诉我结果:))

view plaincopy to clipboardprint?
//重启代码位于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  

//重启代码位于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
}

上面那段代码记得编译时需在Android.mk中添加这条语句:
LOCAL_CERTIFICATE := platform

文章中的另一种方法是gz_boy写到的:

view plaincopy to clipboardprint?
//关机:  
//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);

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fjhyy/archive/2010/06/03/5644296.aspx

重启Android手机代码相关推荐

  1. mtk android手机 代码问题,MTK用户必备 Android手机也能系统恢复

    很多PC用户会在新装系统.驱动和常用软件之后进行Ghost备份,一旦系统异常直接恢复即可.实际上,Android手机也有类似的整套系统备份方法,让手机随时原地满血复活. 全局性的系统备份 可能有同学会 ...

  2. python自动化脚本--自动重启android手机

    思路:通过adb reboot命令来控制android手机自动重启 #!/usr/bin/env python # -*- coding: utf-8 -*- import os import tim ...

  3. 如何重启Android手机

    下面这段代码执行的原理就是发送重启的广播给系统,系统接受广播之后重启. Intent intent = new Intent(Intent.ACTION_REBOOT); intent.putExtr ...

  4. android手机 代码下载,android手机NFC 示例源码下载

    手机NFC测试软件 资源下载此资源下载价格为2D币,请先登录 资源文件列表 TestNFC/.DS_Store , 6148 TestNFC/._.DS_Store , 4096 TestNFC/.c ...

  5. Android 手机重启相关内容

    极力推荐Android 开发大总结文章:欢迎收藏 程序员Android 力荐 ,Android 开发者需要的必备技能 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...

  6. Android 手机重启解决方案

    本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 1.MTK 平台AEE 搜集重启问题介绍 欢迎关注微信公众号:程序员Android 微信公众号:Progra ...

  7. Android 重启手机系统(手机root后可用)定时重启Android系统源码(亲测可用)

    定时重启Android系统源码,点击下面的GitHub链接哈 github源码:点击进入github查看 1.manifest中添加权限如下:[手机未root,运行报错,安装不上] 2.执行下面代码段 ...

  8. 使用Java让android手机自动执行重复重启

    使用Java让android手机自动执行重复重启 public static void main(String[] args)throws IOException,Exception { for(in ...

  9. android确认密码代码,Android手机卫士之确认密码对话框

    本文接着实现"确认密码"功能,也即是用户以前设置过密码,现在只需要输入确认密码 布局文件和<Android 手机卫士--设置密码对话框>中的布局基本类似,所有copy一 ...

最新文章

  1. VSLAM~提取特征后求旋转矩阵
  2. 弹球游戏python代码含记分模式_python编写弹球游戏的实现代码
  3. js字符串替换_浅析Vue的生命周期以及JS异步
  4. 【Python 】绘制惊艳的桑基图
  5. 决赛评审招募 | 学生创意能有多不羁?快来网易看决赛!
  6. AcWing 499. 聪明的质监员
  7. 屏幕取色工具ColorCat
  8. 各种不同服务器301重定向设置代码大全
  9. Java实现万年历【升级版】
  10. 【放马过来---谈禅修打坐】
  11. halcon 灰度投影
  12. Python深度学习-第一章、什么是深度学习
  13. 通过Java访问数据库---JDBC
  14. 饱和气压与温度的关系_饱和蒸汽温度与压力关系
  15. 杂记「5.1·站在百年变革的风口浪尖」
  16. 小白自学C语言的准备方向(推荐)
  17. 泰文,越南等字符串存数据库变成问号,解决办法。
  18. UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 2: illegal multibyte sequence
  19. 商城mysql设计_设计简单的商城数据库
  20. 微信公众账号后台怎么解除小程序_微信小程序解除绑定 微信小程序怎么授权...

热门文章

  1. PICO 开发者管理平台
  2. oracle ocp认证真题,【每日一练】Oracle OCP认证考试题库解析052-1
  3. YOLOv5 anchor 编码(label assign)方式详解
  4. rocketMQ报错:No accessKey is configured
  5. 伤感qq日志-爱冷了 情淡了、心累了,陌生了
  6. Servlet--监听器
  7. 清茶一杯-手机、电子阅读器和生活
  8. 双11商超大促,竞争白热化,智慧供应链成品牌最大助力!
  9. webpack雪碧图生成
  10. 3种方式获取Wifi名称 兼容获取Wifi名字为空 WifiInfo.getSSID为空的情况