在PackageManagerService.java installPackageLI 函数做处理

private void installPackageLI(InstallArgs args, PackageInstalledInfo res) {    final int installFlags = args.installFlags;    final String installerPackageName = args.installerPackageName;    final String volumeUuid = args.volumeUuid;    final File tmpPackageFile = new File(args.getCodePath());    final boolean forwardLocked = ((installFlags & PackageManager.INSTALL_FORWARD_LOCK) != 0);    final boolean onExternal = (((installFlags & PackageManager.INSTALL_EXTERNAL) != 0)            || (args.volumeUuid != null));    final boolean instantApp = ((installFlags & PackageManager.INSTALL_INSTANT_APP) != 0);    final boolean fullApp = ((installFlags & PackageManager.INSTALL_FULL_APP) != 0);    final boolean forceSdk = ((installFlags & PackageManager.INSTALL_FORCE_SDK) != 0);    final boolean virtualPreload =            ((installFlags & PackageManager.INSTALL_VIRTUAL_PRELOAD) != 0);    boolean replace = false;    @ScanFlags int scanFlags = SCAN_NEW_INSTALL | SCAN_UPDATE_SIGNATURE;    /*meig:jicong.wang add for task 4616 start {@*/    if (mSystemReady) {        if (!SystemProperties.getBoolean("persist.sys.installed", false)) {            res.setReturnCode(PackageManager.INSTALL_FAILED_INVALID_APK);            return;        }    }    /*meig:jicong.wang add for task 4616 end @}*/

同时添加persist.sys.installed 来控制是否开发安装app应用。

更多相关文章

  1. Pycharm安装PyQt5的详细教程
  2. 箭头函数的基础使用
  3. Python技巧匿名函数、回调函数和高阶函数
  4. Android(安卓)-- EditText插入表情
  5. Android(安卓)Studio3.0 Error:Execution failed for task ':app
  6. 简析android:installLocation
  7. Android(安卓)- 自定义标题栏(TitleBar)
  8. windows下搭建cocos2dx Android开发环境
  9. Android(安卓)Setting中添加解除屏幕锁选项

随机推荐

  1. Android(安卓)3.1后, 新安装的以及用户强
  2. 在 Android(安卓)4.4.4 上,分析 input --
  3. Gallery控件初体验——简单的相册
  4. android之文字滚动导航栏
  5. Android(安卓)Q私有目录与公共目录文件的
  6. 定时任务Alarm的深入理解
  7. Android(安卓)自定义标尺控件(选择身高、
  8. 《Android开发者必备知识体系 》写作计划
  9. Android利用异步任务AsyncTask发送post请
  10. Android(安卓)实现人脸识别检测时的扫描