AOSP Oreo-私人应用程序的摄像头许可

问题描述

自定义的Android Oreo AOSP中,是否可以在priv-app文件夹中为我的应用授予相机权限?

我知道这是危险的权限,应该在运行时授予,但是如果应用程序位于system / priv-app中,还有其他选项不需要用户交互吗?

我看到/ etc / permissions中有一个白名单,https://source.android.com/devices/tech/config/perms-whitelist,但我认为这不是危险的权限,例如照相机。

解决方法

您可以在undefined method `run' for Telegram::Bot::Client:Class (NoMethodError) 中授予对私人申请的危险许可:

创建默认权限文件Telegram::Bot::Client::run。您需要用应用的包名称替换包名称

/system/priv-app

然后配置makefile,将default-permission-sample.xml复制到<?xml version="1.0" encoding="utf-8"?> <exceptions> <exception package="com.your.camera"> <permission name="android.permission.CAMERA"/> </exception> </exceptions> 目录中。

完成。

,

您可以通过修改frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java

来授予程序包默认的运行时权限

这里的相关方法是:

private void grantDefaultSystemHandlerPermissions(PackageManagerWrapper pm,int userId)

例如,this是授予“ com.android.sharedstoragebackup” 的存储权限的方式:

// There is no real "marker" interface to identify the shared storage backup,it is
// hardcoded in BackupManagerService.SHARED_BACKUP_AGENT_PACKAGE.
grantSystemFixedPermissionsToSystemPackage(pm,"com.android.sharedstoragebackup",userId,STORAGE_PERMISSIONS);