[RK3566-Android11] 去除所有应用权限弹窗,解决Rk4kVideoPlayer因为默认权限无法使用的问题

问题描述

去除所有应用权限弹窗,解决Rk4kVideoPlayer因为默认权限无法使用的问题

解决方案:

frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java

           if (data != null && data.mPostInstallRunnable != null) {
                  data.mPostInstallRunnable.run();
              } else if (data != null && data.args != null) {
                  InstallArgs args = data.args;
                  PackageInstalledInfo parentRes = data.res;
				  // 第三方APP安装跳过授权弹窗,默认授予申请权限
-                  //final boolean grantPermissions = (args.installFlags
-                  // 	& PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS) != 0;
+				  final boolean grantPermissions = true;

                  final boolean killApp = (args.installFlags
                          & PackageManager.INSTALL_DONT_KILL_APP) == 0;

frameworks\base\services\core\java\com\android\server\pm\permission\DefaultPermissionGrantPolicy.java

    private static final Set<String> STORAGE_PERMISSIONS = new ArraySet<>();
    static {
        STORAGE_PERMISSIONS.add(Manifest.permission.READ_EXTERNAL_STORAGE);
        STORAGE_PERMISSIONS.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        STORAGE_PERMISSIONS.add(Manifest.permission.ACCESS_MEDIA_LOCATION);
    }
	//安装权限
 +   private static final Set<String> INSTALL_PERMISSIONS = new ArraySet<>();
 +   static {
 +       INSTALL_PERMISSIONS.add(Manifest.permission.INSTALL_PACKAGES);
 +       INSTALL_PERMISSIONS.add(Manifest.permission.REQUEST_INSTALL_PACKAGES);
 +       INSTALL_PERMISSIONS.add(Manifest.permission.INSTALL_LOCATION_PROVIDER);
 +	  INSTALL_PERMISSIONS.add(Manifest.permission.INSTANT_APP_FOREGROUND_SERVICE);
 +   }

    private static final int MSG_READ_DEFAULT_PERMISSION_EXCEPTIONS = 1;

frameworks\base\services\core\java\com\android\server\pm\permission\PermissionManagerService.java

	if (bp.isNormal()) {
		// For all apps normal permissions are install time ones.
		grant = GRANT_INSTALL;
	} else if (bp.isRuntime()) {
		/*
-		if (origPermissions.hasInstallPermission(bp.getName())
-			|| upgradedActivityRecognitionPermission != null) {
-			// Before Q we represented some runtime permissions as install
-			// in Q we cannot do this anymore. Hence upgrade them all.
-			grant = GRANT_UPGRADE;
-		} else {
-			// For modern apps keep runtime permissions unchanged.
-			// 对于内置应用,保持运行时权限不变。
-			grant = GRANT_RUNTIME;
-		}
		*/
+		grant = GRANT_INSTALL;
	} else if (bp.isSignature()) {
-		// For all apps signature permissions are install time ones.
-		// 对于所有应用程序,签名权限都是在安装时确定的
-		/*
-		allowedSig = grantSignaturePermission(perm, pkg, ps, bp, origPermissions);
-		if (allowedSig) {
-			grant = GRANT_INSTALL;
-		}
-		*/
+		grant = GRANT_INSTALL;
	}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值