背景:安装录音应用,此时运行在后台,执行录音输出的文件,打开文件显示无数据;
解决方案:
主要修改记录:
frameworks/base/services/core/java/com/android/server/appop/AppOpsService.java
case OP_RECORD_AUDIO:
if ((capability & PROCESS_CAPABILITY_FOREGROUND_MICROPHONE) != 0) {
return MODE_ALLOWED;
} else {
Slog.d(TAG, "RECORD_AUDIO-evalMode-op:" + op + " ,mode: " + mode
+ " ,capability: " + capability);
//begin modified
List<String> packageNames = new ArrayList<>();
PackageManagerInternal packageManagerInternal = LocalServices.getService(
PackageManagerInternal.class);
PackageList packages = packageManagerInternal.getPackageList();
for (String packageName : packages.getPackageNames()) {
String allowPackages = SystemProperties.get("persist.xxxx");
String[] permissionPackages = allowPac