解决被手机管理工具禁止开机启动的方法

目前市面上很多工具有屏蔽其他app开机启动的功能,比如猎豹清理大师和360安全卫士。本文讲解如何避免被猎豹清理大师关闭收不到开机广播的情况,360安全卫士的屏蔽模式还没搞清楚,有大牛明白的话请赐教。

猎豹屏蔽的原理是通过改变第三方app接收开机广播reciver的状态来达到效果。解决办法就是在关机广播里面把自己改为可用。

具体代码如下:

接收开机广播android.intent.action.BOOT_COMPLETED的组建命名为com.android.test.CompletedReciver.java

接收关机广播android.intent.action.ACTION_SHUTDOWN的组建命名为com.android.test.ShutDownReciver.java

package com.android.test;

import android.content.BroadcastReceiver;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.text.TextUtils;

public class ShutDownReceiverextends BroadcastReceiver {

private static
void setComponentEnableSetting(Context context, String className) {

PackageManager pm = context.getPackageManager();

ComponentName componentName = new ComponentName(context, className);

pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

}

private static
int getComponentEnableSetting(Context context, String className) {

PackageManager pm = context.getPackageManager();

ComponentName componentName = new ComponentName(context, className);

return pm.getComponentEnabledSetting(componentName);

}

@Override

public void onReceive(final Context context, Intent intent) {

String action = intent.getAction();

if (TextUtils.isEmpty(action)) {

return;

}

if (Intent.ACTION_SHUTDOWN.equals(action)) {

String ComponentName = "com.android.test.CompletedReciver";

if (PackageManager.COMPONENT_ENABLED_STATE_DISABLED == getComponentEnableSetting(context.getApplicationContext(), ComponentName)) {

setComponentEnableSetting(context.getApplicationContext(), ComponentName);

}

}

}

}

关于360安全卫士和MIUI系统自带安全中心的实现方式还没搞明白。

时间: 2024-10-10 20:52:42

解决被手机管理工具禁止开机启动的方法的相关文章

禁止开机启动后Oracle 无法连接 、 网络适配器错误 处理

禁止开机启动后Oracle 无法连接, 转来:http://blog.sina.com.cn/s/blog_4aeef1220100fmsr.html TNS-12560: TNS: 协议适配器错误 Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:\Documents and Settings\user1>lsnrctl LSNRCTL for 32-bit Windows: Version 9.2.0.7

让apache2不开机启动,管理Ubuntu的开机启动项

今天在网上发现了一个很好用的管理Ubuntu下开关启动的软件,叫做sysv-rc-conf 使用命令行: [email protected]:/etc/apache2$ sudo update-rc.d -f apache2 remove Removing any system startup links for /etc/init.d/apache2 ... /etc/rc0.d/K09apache2 /etc/rc1.d/K09apache2 /etc/rc2.d/S91apache2 /e

VirtualBox硬件级虚拟机 vbox修改器去虚拟化 批量管理工具 支持批量启动克隆

浪潮vbox批量管理工具--v2019 软件价格 此版本采用注册码方式 软件绑定电脑使用包月20元 包年120元 永久版200元 https://item.taobao.com/item.htm?id=598192994387 Ω.Ω: 1311190882 特别说明1.此工具是基于官方版本VirtualBox,在购买我们软件之前请自行安装好vbox主程序!2.如果vbox不能正常使用,可以联系我们客服远程安装或处理,收费20元3.该工具支持批量链接克隆与完整克隆链接克隆一个新的虚拟机才2-3M

Linux启动原理介绍及设置开机启动脚本方法

转自本人个人博客:http://www.xgezhang.com/linux_init_shell.html 之前总是对Linux的整个启动脉络不了解,把这个问题看得很神秘,昨天稍微研究了一下,其实还是很简单的. Linux启动时,所有的启动脚本都放在/etc/init.d/ 下面,而这些脚本又有映射到各个/etc/rcX.d,这个X代表0-6,分别对应不同的系统级别: 0代表关机(halt) 1级别是单用户模式(single) 2级别是多用户级别,这个是默认级 3,4,5未定义,可以提供给用户

Linux配置Nginx,MySql,php-fpm开机启动的方法

一. Nginx 开机启动 NGINX SHELL脚本   放到/etc/init.d/下取名nginx 下面代码里根据你原始安装路径去更改 nginx="/usr/localinx/sbininx" NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" [plain] view plain copy #!/bin/sh # # nginx - this script starts and stops the ngin

关于windows 开机启动的方法(小结)

1. 程序>>>附件>>>启动  ###登录后方可执行.. 2. 注册表:machine 和 user 下的 software>>>microsoft>>>windows>>>currentverion  RUN或RUNONCE&RUNXE   ###登录后执行.. 3.组策略 cmd >>> gpedit.msc >>> 计算机策略(管理硬件) + 用户侧路(用户登录后方

CentOS设置服务开机启动的方法

CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后系统默认不会自动启动的.就算手动执行 /etc/init.d/mysqld start 启动了服务,只要服务器重启后,系统仍然不会自动启动服务. 在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,避免不必要的损失和麻烦. 其实命令很简单的,使用chkconfig即可. [天涯PHP博

Linux禁止开机启动防火墙firewall.service

每次重启测试环境会发现外网都无法访问80端口,用systemctl status firewalld.service检查防火墙,是开启的状态 要使firewall不开机启动,使用命令systemctl disable firewalld.service 重启虚机后,再次检查firewall的状态 已经没有启动了. 原文地址:http://blog.51cto.com/12482328/2087882

systemd添加自定义系统服务设置自定义开机启动的方法

1.服务权限 systemd有系统和用户区分:系统(/user/lib/systemd/system/).用户(/etc/lib/systemd/user/).一般系统管理员手工创建的单元文件建议存放在/etc/systemd/system/目录下面. 2.创建服务文件 [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.targe