android如何禁止安装第三方应用
16lz
2021-01-23
在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应用。
更多相关文章
- Android Audio代码分析13 - AudioTrack::getPosition函数
- Android 中调试手段 打印函数调用栈信息
- Android 利用JNI调用Android Java代码函数
- Android中SensorManager.getRotationMatrix函数原理解释
- sencha touch 调用android主函数里的方法(可用与phoneGap开发第三
- Android sql数据库的Android包里面的函数介绍
- Android中调用C++函数的一个简单Demo
- 使用android中drawline函数无法绘制水平线的解决办法
- Android JNI char* 和jstring类型相互转换函数。