过滤Home属性的应用,然后禁止此类应用的安装,目前定制项目中十有八九都是客户提供launcher,然后禁止别的launcher安装,如何屏蔽呢?修改文件frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java,修改里面的私有方法installNewPackageLIF,

    private static boolean hasLauncherCatagory(ActivityIntentInfo filter) {        return filter.hasCategory(Intent.CATEGORY_HOME);    }    /*     * Install a non-existing package.     */    private void installNewPackageLIF(PackageParser.Package pkg, final int policyFlags,            int scanFlags, UserHandle user, String installerPackageName, String volumeUuid,            PackageInstalledInfo res) {        Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "installNewPackage");        // Remember this for later, in case we need to rollback this install        String pkgName = pkg.packageName;        .......//省略若干行        try {            PackageParser.Package newPackage = scanPackageTracedLI(pkg, policyFlags, scanFlags,System.currentTimeMillis(), user);           //add for prevent 3rd app  to be installed start             for (PackageParser.Activity a : newPackage.activities) {                for (ActivityIntentInfo filter : a.intents) {                    if (hasLauncherCatagory(filter) && !pkgName.equals("com.vc")) { //判断是否是launcher                        deletePackageLIF(pkgName, UserHandle.ALL, false, null, 0,res.removedInfo, false,null);    //如果是launcher就删除文件,并且提示无法安装                        res.setError(INSTALL_FAILED_INVALID_INSTALL_LOCATION,                                "Cannot install updates to system or vendor apps on sdcard");                        return;                    }                }            }            //add for prevent 3rd app  to be installed end            updateSettingsLI(newPackage, installerPackageName, null, res, user);            ......//省略若干行

 

更多相关文章

  1. android 实用sax 读取xml文件内容 附源码
  2. android遍历sd卡中的所有文件
  3. Android 实现多个Audio文件的顺序播放
  4. 解决 Android 下载中文文件名问题
  5. maven 学习笔记(五)-创建简单的eclipse+android+maven工程(打包为aa
  6. Android开发 使用Lame把音频文件转换成mp3格式
  7. 解决用Android Studio开发项目如何放置assets文件夹

随机推荐

  1. Android如何实现模态对话框(Modal Dialog)
  2. Android(安卓)App拥有system权限
  3. Android键盘自动弹出解决方法分析
  4. Android利用sqlite制作简单登录界面
  5. Android(安卓)EditText属性用法
  6. android adb shell 命令大全
  7. Android(安卓)ViewFlipper/ViewSwitcher/
  8. Android中字体加粗
  9. android studio编译android M时无法使用o
  10. Android设置透明效果