先写一个程序看看手机里面安装的app那些具有开机自启权限

有很多方法:这里是通过packagemnager 实现

public class checkthestartslef extends Activity {ListView listView;String boot_permission = "android.permission.RECEIVE_BOOT_COMPLETED";@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.listview_main);listView = (ListView) findViewById(R.id.list);// 添加适配器AdapterlistView.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且不为系统appfor (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很难拿到对系统权限的控制。反而会降低安全性和消耗资源

转载于:https://www.cnblogs.com/Tesi1a/p/7624079.html

【如何管理开机自启动程序】相关推荐

  1. Ubuntu管理开机自启动程序

    点击左侧的图标,在搜索栏上输入gnome-session,即可看到 "启动应用程序"的图标, 如下图: 在此管理开机自启动程序

  2. Win10系统如何关闭开机自启动程序,看这里就够了,怎样关闭Windows10电脑自启动软件

    现如今我们大家不论是生活中还是工作中运用电脑都是甚为广泛,对于电脑的操作,有人会把一些软件设置为开机自启动,如果当我们不需要自启动的时候怎样关闭自启动程序呢?不能自启动软件开一次你手动关一次吧,这样太 ...

  3. Wince下定制开机自启动程序

    Wince下定制开机自启动程序 上网查了一下,发现相关的贴子还真是不少. 最近因公司的项目需要,我做了个简单的程序则试该功能. 用网上的很多方法发现是行不通的, 估计最初应该是可以用的, 然后大家都是 ...

  4. 如何让电脑开机自启动程序

    如果你是想让电脑开机自启动程序的话你来对了地方 首先同时按下徽标键(一个键四个小方块的那个)+r键 然后输入shell:startup 在打开的文件夹中把你需要启动的程序放进去即可 直接把图标拖进去 ...

  5. jetson nano 相关设置(开机自动登录、取消休眠和屏保、开机自启动程序)

    目录 1. 开机自动登录 2. 取消屏保 2.1. 单击左下角图标,依次进入Preferences和 Screensaver 2.2. 进入Display Modes,Mode选择Disable Sc ...

  6. Ubuntu开机自启动程序的方法

    文章目录 Ubuntu开机自启动程序的方法 目标效果 方案1:修改rc.local 测试结果 方案2:单独增加一个开机启动的脚本 错误1 错误2 实测结果 refs 方案3:利用官方快捷方式启动 Ub ...

  7. Jetson nano开机自启动程序

    目录 前言 1.介绍 2.创建开机自启动程序 2.1 创建一个bash文件 2.2 创建一个service文件 2.3 添加权限 2.4 移动service文件 2.5 启动服务 2.6 停止/重启服 ...

  8. 开机自启动程序(登陆后)

    1. Preface 其实有好几种开机自启动程序的方法,这里只写最简单且亲测可行的. 2. Method 使用系统自带的开机自启动程序工具,打开terminal,然后输入gnome-session-p ...

  9. Linux开机自启动程序死循环,无法进入系统

    使用Linux系统开机自启动程序,任何键都无法结束程序,重启也不行. 1 杀死跑飞的程序 当你把你的Linux弄死机了,是完全的死机了,你按了Ctrl + Alt + Backspace,也没用的时候 ...

最新文章

  1. python0b1010_笔记-python-字符串格式化-format()
  2. Weblogic Admin Console
  3. AS2的MD5/SHA1/TEA等加密算法类
  4. python input函数赋值法_大佬们 我是刚开始学python的小白 遇到这种赋值方式 实在不懂这个a+b是赋值给谁的 求解...
  5. 12 月份 10 个新鲜的 jQuery 插件和教程
  6. ueditor跨域上传图片文件(基于jsp框架、tomcat)
  7. 机械制图中外螺纹的画法_机械制图基础知识之图样简化画法
  8. 筹款の不定方程(洛谷P4956题题解,Java语言描述)
  9. 八、IO优化(3)稀疏列
  10. 苹果付费app共享公众号_公众号+搭建知识付费网课分销平台聚合型玩法解析
  11. 如何更改win7开机启动画面
  12. 有哪些支持 HomeKit 的智能家居生态值得推荐?
  13. 天盾linux数据恢复,天盾Linux数据恢复软件
  14. Java模拟账户---关键字this
  15. 如何识别哭泣csdn_【jji技术】语音识别工程实战:聊聊语音芯片选型
  16. 记一次内网SSH后门误报事件
  17. 51单片机I/O端口的结构和工作原理
  18. credssp(credssp加密数据库修正 server2016)
  19. java 前端模板_前端模板引擎入门
  20. 日食恐慌!运营商面临严峻挑战!

热门文章

  1. 区块链创业者:谈企业级区块链落地,传统行业的崛起(分享实录)
  2. 剑指offer 二进制1中的个数
  3. android多种方式实现异步加载图片
  4. grails 转为java_创建一个grails项目,然后转成maven项目
  5. print python excel分隔_合并/拆分 Excel?Python、VBA轻松自动化
  6. 表示python代码块的是_编写高质量Python代码的59个有效方法,你用过几个
  7. DPDK — CLI 指令行模块
  8. DPDK — 数据平面开发技术
  9. Linux_用户和权限管理
  10. KeilKill.bat删除keil编译生成的过程文件