[高通SDM450][Android9.0]CTA认证--去掉录音功能
文章目录
- 开发平台基本信息
- 问题描述
- 解决方法
开发平台基本信息
芯片: SDM450
版本: Android 9.0
kernel: msm-4.9
问题描述
设备在进行入网认证的时候,公司为了尽快拿到入网证书,会将一些不必要的功能砍掉,这样实验室就不会去测试这些功能,就能少掉很多不必要的麻烦,而录音功能就是个不必要的功能。所以,在系统里面将录音功能移除掉,让实验室无法调用录音功能即可。
解决方法
diff --git a/frameworks/av/media/libmediaplayerservice/MediaRecorderClient.cpp b/frameworks/av/media/libmediaplayerservice/MediaRecorderClient.cpp
index 09be2f4..9fa2641 100644
--- a/frameworks/av/media/libmediaplayerservice/MediaRecorderClient.cpp
+++ b/frameworks/av/media/libmediaplayerservice/MediaRecorderClient.cpp
@@ -49,7 +49,8 @@ const char* recordAudioPermission = "android.permission.RECORD_AUDIO";static bool checkPermission(const char* permissionString) {if (getpid() == IPCThreadState::self()->getCallingPid()) return true;
- bool ok = checkCallingPermission(String16(permissionString));
+ // bool ok = checkCallingPermission(String16(permissionString));
+ bool ok = false;if (!ok) ALOGE("Request requires %s", permissionString);return ok;}
diff --git a/frameworks/base/media/java/android/media/AudioRecord.java b/frameworks/base/media/java/android/media/AudioRecord.java
index 4356296..de8b41a 100644
--- a/frameworks/base/media/java/android/media/AudioRecord.java
+++ b/frameworks/base/media/java/android/media/AudioRecord.java
@@ -275,18 +275,8 @@ public class AudioRecord implements AudioRoutingpublic AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat,int bufferSizeInBytes)throws IllegalArgumentException {- this((new AudioAttributes.Builder())
- .setInternalCapturePreset(audioSource)
- .build(),
- (new AudioFormat.Builder())
- .setChannelMask(getChannelMaskFromLegacyConfig(channelConfig,
- true/*allow legacy configurations*/))
- .setEncoding(audioFormat)
- .setSampleRate(sampleRateInHz)
- .build(),
- bufferSizeInBytes,
- AudioManager.AUDIO_SESSION_ID_GENERATE);
- }
+
+ }/*** @hide
@@ -981,7 +971,10 @@ public class AudioRecord implements AudioRouting*/public void startRecording()throws IllegalStateException {- android.util.SeempLog.record(70);
+ throw new IllegalStateException("startRecording() called on an "
+ + "uninitialized AudioRecord.");
+
+ /* android.util.SeempLog.record(70);if (mState != STATE_INITIALIZED) {throw new IllegalStateException("startRecording() called on an "+ "uninitialized AudioRecord.");
@@ -994,6 +987,7 @@ public class AudioRecord implements AudioRoutingmRecordingState = RECORDSTATE_RECORDING;}}
+ */}/**
diff --git a/frameworks/base/media/java/android/media/MediaRecorder.java b/frameworks/base/media/java/android/media/MediaRecorder.java
index c5a16c0..6c31ba0 100755
--- a/frameworks/base/media/java/android/media/MediaRecorder.java
+++ b/frameworks/base/media/java/android/media/MediaRecorder.java
@@ -847,7 +847,9 @@ public class MediaRecorder*/public void prepare() throws IllegalStateException, IOException{- if (mPath != null) {+
+ throw new IOException("No valid output file");
+ /* if (mPath != null) {RandomAccessFile file = new RandomAccessFile(mPath, "rws");try {_setOutputFile(file.getFD(), 0, 0);
@@ -861,6 +863,7 @@ public class MediaRecorder}_prepare();
+ */}/**
diff --git a/frameworks/base/media/jni/android_media_MediaCodec.cpp b/frameworks/base/media/jni/android_media_MediaCodec.cpp
index 810996e..b471f19 100644
--- a/frameworks/base/media/jni/android_media_MediaCodec.cpp
+++ b/frameworks/base/media/jni/android_media_MediaCodec.cpp
@@ -1168,7 +1168,7 @@ static void android_media_MediaCodec_start(JNIEnv *env, jobject thiz) {ALOGV("android_media_MediaCodec_start");sp<JMediaCodec> codec = getMediaCodec(env, thiz);
-
+ /*if (codec == NULL) {throwExceptionAsNecessary(env, INVALID_OPERATION);return;
@@ -1177,6 +1177,8 @@ static void android_media_MediaCodec_start(JNIEnv *env, jobject thiz) {status_t err = codec->start();throwExceptionAsNecessary(env, err, ACTION_CODE_FATAL, "start failed");
+ */
+}static void android_media_MediaCodec_stop(JNIEnv *env, jobject thiz) {diff --git a/frameworks/base/media/jni/android_media_MediaRecorder.cpp b/frameworks/base/media/jni/android_media_MediaRecorder.cpp
index 922ad79..7a83dc6 100644
--- a/frameworks/base/media/jni/android_media_MediaRecorder.cpp
+++ b/frameworks/base/media/jni/android_media_MediaRecorder.cpp
@@ -386,7 +386,7 @@ android_media_MediaRecorder_start(JNIEnv *env, jobject thiz){ALOGV("start");sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
- process_media_recorder_call(env, mr->start(), "java/lang/RuntimeException", "start failed.");
+ // process_media_recorder_call(env, mr->start(), "java/lang/RuntimeException", "start failed.");}static void
[高通SDM450][Android9.0]CTA认证--去掉录音功能相关推荐
- [高通SDM450][Android9.0]CTA认证--去掉彩信、短信、通话功能
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 与去掉录音功能同理,设备在进行入网认证 ...
- [高通SDM450][Android9.0]CTA认证--去掉GPS功能
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 与去掉录音功能同理,设备在进行入网认证 ...
- [高通SDM450][Android9.0]CTA认证--去除某些应用开机使用定位权限
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 设备在进行入网认证,实验室在测试的时候 ...
- [高通SDM450][Android9.0]CTA认证--Android6.0以下应用默认不授权
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 设备在进行入网认证的时候,实验室要求应 ...
- [高通SDM450][Android9.0]CTA认证--拆分申请权限分组
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 设备在进行入网认证的时候,实验室要求应 ...
- [高通SDM450][Android9.0]屏幕显示DPI可动态配置
文章目录 开发平台基本信息 问题描述 解决方法 去除默认dpi限制 开发平台基本信息 芯片: 高通SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 正常我们要修改 ...
- [高通SDM450][Android9.0]屏蔽开放WIFi以及WIFI信号有个x导致无法上网
文章目录 开发平台基本信息 问题描述 解决方法 1.解决WIFI信号有个x的问题 2.屏蔽开放WIFi 开发平台基本信息 芯片: 高通SDM450 版本: Android 9.0 kernel: ms ...
- [高通SDM450][Android9.0]刷机后RTC时钟不生效问题
文章目录 开发平台基本信息 问题描述 解决方法 1.写入RTC时钟添加增加开机广播 开发平台基本信息 芯片: 高通SDM450 版本: Android 9 kernel: msm-4.19 问题描述 ...
- [高通SDM450][Android9.0]adb无法进行remount的解决方案
文章目录 开发平台基本信息 问题描述 解决方法 开发平台基本信息 芯片: SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 在调试开发的时候,执行remount可 ...
最新文章
- 评测指标(metrics)
- 齐聚上海,get多媒体开发新技能(内附讲师资料下载)
- linux下查看当前用户的 三个命令
- hdu 2680 Choose the best route
- noj大作业c语言扫雷,noj大作业.doc
- messagedigest 图片加密_MessageDigest 加密和解密2
- cuda 10.1和 cudnn 7.6.5
- 学python最好的方法_对于Python初学者,怎么学才能快速高薪?牢记四条!
- 185.部门工资前三高的员工
- 手把手教你如何自学计算机,绝对的干货满满!!!
- 帮助海外游客规划从成田机场开始日本旅行的新网站上线
- 流量从“海量”到“僵化”,精细化运营是企业最后一根救命稻草
- Typora 设置代码块的默认编程语言以及字体颜色设置
- 数字IC设计学习笔记_静态时序分析STA_伪路径False Paths
- c语言链表增加新节点,C语言 链表的创建,以及节点的增加和删除
- python中常用的序列化模块_Python 中的序列化模块
- 如何解决桌面IE图标不见了?
- DB2 DECODE函数
- 局域网内设置固定IP
- 读书札记:影响英镑的因素
热门文章
- Alpine中文字体
- 解决ZeroDivisionError: integer division or modulo by zero问题
- BAPI_PO_CREATE1 批量创建采购订单(可一个PO采购多个材料)
- 短信的发送(SMS)的发送
- Docker入门实战看这篇就够了(最新详细以及踩过的坑)
- 从顶点覆盖(Vertex Cover)到碰撞集(Hitting Set)的归约
- Beego 简单用户注册与登录
- 马哲概述 如何理解商品的使用价值与价值以及货币,纸币
- win10打开软件显示c盘服务器,【解决】win10 打开本地磁盘 提示找不到应用程序...
- 计算机网上培训6,wordexcel计算机基础培训6.pptx