`
dewi23
  • 浏览: 8686 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

老施教你山寨360手机安全卫士,优化大师,QQ手机管家,金山卫士的一些功能(2)实现禁止掉开机自启程序

阅读更多

老施一直觉得。方案很重要,所以我就不给出具体的代码了。就给两个核心的代码。禁止自启程序代码和恢复自启程序方法。你也可以封装成一个方法,。

 

/** 关闭开机启动项管理 */
    public void closeAutoStartApp(final String appPackageName) {
        progressDialog = ProgressDialog.show(this, null, "正在禁止,请稍候……");
        new Thread() {
            public void run() {
                Process process = null;
                DataOutputStream os = null;
                String command = "";
                try {
                    process = Runtime.getRuntime().exec("su");
                    os = new DataOutputStream(process.getOutputStream());
                    os.flush();
                    command = "pm disable " + appPackageName + " \n";
                    os.writeBytes(command);
                    os.writeBytes("exit\n");

                    os.flush();
                    os.close();

                    process.waitFor();
                    process.destroy();

                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                }
                handler.sendEmptyMessage(0);
            }
        }.start();
    }

/** 恢复开机启动项管理 */
    public void startAutoStartApp(final String appPackageName) {
        progressDialog = ProgressDialog.show(this, null, "正在恢复,请稍候.....");
        new Thread() {
            public void run() {
                Process process = null;
                DataOutputStream os = null;
                String command = "";
                try {
                    process = Runtime.getRuntime().exec("su");
                    os = new DataOutputStream(process.getOutputStream());
                    command = "CLASSPATH=/system/framework/pm.jar \n";
                    os.writeBytes(command);
                    os.flush();
                    command = "pm enable " + appPackageName + " \n";
                    os.writeBytes(command);
                    os.writeBytes("exit\n");

                    os.flush();
                    os.close();

                    process.waitFor();
                    process.destroy();

                } catch (Exception e) {
                    e.printStackTrace();
                } finally {

                }
                handler.sendEmptyMessage(0);
            }
        }.start();
    }
 

 

在ListView代码调用的时候记得传的参数是包名+“/”+info.activityInfo.name 如不懂info.activityInfo.name的参数,请看第一篇文档。closeAutoStartApp(adapter.getItem(position).packageName
                                + "/" + adapter.getItem(position).name);调用方式。 如果各位有兴趣的想知道我的具体实现方法,请Q我。注意:禁止掉自启动程序需要root权限。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics