【如何管理开机自启动程序】

先写一个程序看看手机里面安装的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很难拿到对系统权限的控制。反而会降低安全性和消耗资源

posted @ 2016-09-19 15:10  Tesi1a  阅读(241)  评论(0编辑  收藏  举报