【如何管理开机自启动程序】
来源:互联网 发布:vue.js配合什么ui框架 编辑:程序博客网 时间:2024/06/02 13:11
先写一个程序看看手机里面安装的app那些具有开机自启权限
有很多方法:这里是通过packagemnager 实现
public class checkthestartslef extends Activity { ListView listView; String boot_permission = "android.permission.RECEIVE_BOOT_COMPLETED"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.listview_main); listView = (ListView) findViewById(R.id.list); // 添加适配器Adapter listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getAppInfo())); } // 拿到开机启动app的信息 private String[] getAppInfo() { int count = 0;// 记录有多少个app // 拿到已安装程序的信息 List<ApplicationInfo> allAppList = getPackageManager() .getInstalledApplications(0); // 新建一个ArrayList数组 List<String> autoBootAppList = new ArrayList<String>(); // 遍历已安装的app如果app的权限里含有boot_permission且不为系统app for (ApplicationInfo appinfo : allAppList) { if (PackageManager.PERMISSION_GRANTED == getPackageManager() .checkPermission(boot_permission, appinfo.packageName)) { if ((appinfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) { autoBootAppList.add(appinfo.packageName); } } else { autoBootAppList.add("第" + count + "个app"); count++; } } return autoBootAppList.toArray(new String[autoBootAppList.size()]); }}
开机启动广播
- 1.extends broadcast
- 2.注册/动静
- 3.声明权限
- 4.有序广播但是 不可中断
停止广播的方法
1.设置app的Package stopped标志来实现
通过forcestoppackage禁用,会停止定时器等。同时也需要system权限和系统签名
2.设置recevier组件为不可用android:enable
setApplicationEnabledSetting停用应用中所有的组件 SetComponentEnabledSetting指定组件
- 3.kill app进程
总结:
root权限:
1.使用pm命令来禁用包含Boot_Completed
2.监控后来进程“轮训”黑名单进而kill
增大了系统消耗。
小米:解析权限的时候回将所有的接受器的优先级减1。
如果没有root权限第三方app很难拿到对系统权限的控制。反而会降低安全性和消耗资源
0 0
- 【如何管理开机自启动程序】
- 如何开机自启动程序
- MAC如何删除开机自启动程序
- 如何实现QT程序开机自启动
- 如何设置开机自启动程序
- win101如何禁止开机自启动程序
- 程序开机自启动
- 程序开机自启动
- 程序开机自启动
- 开机自启动程序
- 程序开机自启动
- 程序开机自启动
- 程序开机自启动
- 如何实现symbian程序开机自启动(合辑)
- 如何通过程序设定是否开机自启动
- 如何通过程序设定是否开机自启动
- 如何通过程序设定是否开机自启动
- windows xp下如何添加开机自启动的程序
- 文章标题
- Fragment解析
- CString、TCHAR*、char*转换
- BZOJ3230 相似子串 后缀自动机做法
- 蓝牙Bluetooth 5.0 室内定位 Indoor Position学习(一)
- 【如何管理开机自启动程序】
- 【JAVA实现】基于皮尔逊相关系数的相似度计算
- u-boot FIT image介绍
- 【原创】东方耀reactnative 视频27之-react-native-swiper
- Date日期对象
- linux系统最大打开文件数和socket端口数限制的坑
- python3.3~mysql数据库操作
- zcurd在线表单介绍
- Groovy map和String 互相转化