博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android使用代码实现关机/重启
阅读量:6692 次
发布时间:2019-06-25

本文共 785 字,大约阅读时间需要 2 分钟。

hot3.png

思路来自网络!

 

1、需要源码才能编译

 

2、修改项目的Android.mk文件,添加

LOCAL_CERTIFICATE := platform

 

3、AndroidManifest.xml中添加权限

  3.1 manifest标签中添加

    android:sharedUserId="android.uid.system"

  3.2 使用权限

    <uses-permission android:name="android.permission.SHUTDOWN"/>

 

4、java代码

Java代码   
  1. // 创建Intent  
  2. // 如果是要重启,则使用Intent.ACTION_REBOOT  
  3. Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);  
  4. // 设置是否需要用户确认,若不需要,可以不设置或设置为false  
  5. intent.putExtra(Intent.EXTRA_KEY_CONFIRM, true);  
  6. // 当作新任务执行  
  7. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  8. // 启动  
  9. startActivity(intent);  

 

据说还可以使用Broadcast的方式调用,不过我试了一下,窗口是出来了,但一直停在关机的进度条那。不知道是不是机子的问题。

代码如下:

Java代码   
  1. Intent i = new Intent(Intent.ACTION_REBOOT);  
  2. i.putExtra("nowait"1);  
  3. i.putExtra("interval"1);  
  4. i.putExtra("window"0);  
  5. sendBroadcast(i);  

转载于:https://my.oschina.net/u/197197/blog/89793

你可能感兴趣的文章
day4 二维数组旋转90度
查看>>
简说设计模式——组合模式
查看>>
第二次实训作业
查看>>
Java 9.0.4版本 包裹类型和基本类型 ==和equals的比较
查看>>
数组多重筛选条件排序方法
查看>>
Vue中import引入模块路径时的@符号
查看>>
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
查看>>
sublime text 3插件
查看>>
Javascript优化后的加减乘除(解决js浮点数计算bug)
查看>>
js中的super小结
查看>>
ios显示或隐藏导航栏的底线
查看>>
包含 min 函数的栈
查看>>
rm -f /var/lib/rpm/__db*;rpm --rebuilddb
查看>>
iOS进公司后可能用到的开源库和第三方组件
查看>>
一篇文章,带你了解gulp
查看>>
前端基础知识复习之CSS
查看>>
命令模式与它在源码中的运用
查看>>
再和“面向对象”谈恋爱—面向对象编程概念
查看>>
jquery datatable + backbone 的重构。
查看>>
原型模式与深浅拷贝
查看>>