mtk android 11接打电话默认免提功能
修改功能的方案为MTK的源码,其他方案源码仅供参考。
1.在mtk源码当中有专门的宏控进行开关一些功能,就像这次的打电话面提功能。在device.mk文件当中可以搜到这个MTK_TB_APP_CALL_FORCE_SPEAKER_ON,当它为yes的时候通话免提只是拨打的时候免提,接听的时候并不是免提状态。
--- a/alps/device/mediateksample/xx/ProjectConfig.mk
+++ b/alps/device/mediateksample/xx/ProjectConfig.mk
@@ -539,6 +539,7 @@ MTK_SMART_CHARGING = noMTK_ADSP_VA_SUPPORT = noMTK_CAM_BSS_SUPPORT = 0MTK_LK_VERSION = lk
+MTK_TB_APP_CALL_FORCE_SPEAKER_ON=yes
2.因接听的时候并不是免提状态,所以有以下修改。
第一种方法:
--- a/alps/frameworks/base/telecomm/java/android/telecom/InCallService.java
+++ b/alps/frameworks/base/telecomm/java/android/telecom/InCallService.java
@@ -40,6 +40,10 @@ import com.android.internal.telecom.IInCallService;import java.util.Collections;import java.util.List;+import android.telecom.CallAudioState;
+import android.telephony.PhoneStateListener;
+import android.telephony.TelephonyManager;
+import android.content.Context;/*** This service is implemented by an app that wishes to provide functionality for managing* phone calls.
@@ -230,6 +234,40 @@ public abstract class InCallService extends Service {private static final int MSG_ON_HANDOVER_FAILED = 12;private static final int MSG_ON_HANDOVER_COMPLETE = 13;+ //Added by lwz start
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ MyPhoneStateListener phonehoneStateListener=new MyPhoneStateListener();
+ TelephonyManager mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
+ mTelephonyManager.listen(phonehoneStateListener,PhoneStateListener.LISTEN_CALL_STATE);
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ }
+
+ private class MyPhoneStateListener extends PhoneStateListener{
+ @Override
+ public void onCallStateChanged(int state, String incomingNumber) {
+ switch (state) {
+ case TelephonyManager.CALL_STATE_IDLE:
+ setAudioRoute(CallAudioState.ROUTE_EARPIECE);
+ break;
+ case TelephonyManager.CALL_STATE_RINGING:
+ setAudioRoute(CallAudioState.ROUTE_SPEAKER);
+ break;
+ case TelephonyManager.CALL_STATE_OFFHOOK:
+ setAudioRoute(CallAudioState.ROUTE_SPEAKER);
+ default:
+ break;
+ }
+ super.onCallStateChanged(state, incomingNumber);
+ }
+ }
+ //Added by lwz end
+ /** Default Handler used to consolidate binder method calls onto a single thread. */private final Handler mHandler = new Handler(Looper.getMainLooper()) {@Override
第二种方法:
index fe2a32b..101b15c 100644
--- a/alps/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
+++ b/alps/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp
@@ -295,7 +295,8 @@ DeviceVector Engine::getDevicesForStrategyInt(legacy_strategy strategy,AUDIO_DEVICE_OUT_AUX_DIGITAL, AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET});if (!devices.isEmpty()) break;}
- devices = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_EARPIECE);
+ //devices = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_EARPIECE);
+ devices = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_SPEAKER);break;case AUDIO_POLICY_FORCE_SPEAKER:
mtk android 11接打电话默认免提功能相关推荐
- 高通Android 13默认切换免提功能
1.测试部反馈 由于平板本身没有听筒功能 因此考虑工厂直接切换到免提功能 2.修改路径 frameworks/av/services/audiopolicy/enginedefault/src/Eng ...
- Android 8.1拨号如何实现默认免提
客户需求说拨号默认免提,如何实现 alps\vendor\mediatek\proprietary\packages\services\Telecomm\src\com\android\server\ ...
- 拨打接听电话只有免提模式,无法切换听筒。默认免提模式,可以切换听筒。
只有免提模式,无法切换听筒: vendor/mediatek/proprietary/packages/services/Telecomm/src/com/android/server/telecom ...
- android 拨打紧急号码,通话时开启免提功能实现
对应拨打电话只需要调用ACTION_CALL加对应电话号码即可如下: void callPhone(){ Intent intent = new Intent(Intent.ACTION_CALL,U ...
- MTK Android 11.0:充电低电指示灯会被未读消息信号灯灭掉,无优先级控制。
MTK Android 11.0:充电低电指示灯会被未读消息信号灯灭掉,无优先级控制: 1.电池充电.低电状态提示(红绿双色).(LIGHT_ID_BATTERY) 小于15%时: A 正在充电 亮红 ...
- android11beta支持什么手机,Android 11 Beta1发布,新增多种功能,网友:Android基于 Flyme...
原标题:Android 11 Beta1发布,新增多种功能,网友:Android基于 Flyme 6.11日消息,谷歌于今日凌晨正式推送了 Android 11 Beta 1 版系统,不仅新增了可悬浮 ...
- Android拨打接听电话自动免提
权限: <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-p ...
- [CF.Skills]Windows Mobile如何编程实现免提功能
摘要:本文阐述了如何在Windows mobile的设备上使用托管代码在来电时触发扬声器,间接实现免提的功能 Keywords Windows Mobile,.NET CompactFramework ...
- android 打开免打扰模式,Android 6.0设置模块免打扰功能浅析
免打扰功能的入口在NotificationSettings中, 点击列表项跳转到ZenModeSettings.java android:title="@string/zen_mode_se ...
最新文章
- svn 目录结构 trunk java_如何彻底删除SVN中的文件和文件夹(附恢复方法)
- [Java] grails 安装手记
- nginx fastcgi python_linux下nginx+python+fastcgi部署总结(django版)
- bios是固定在微型计算机上的一块RoM,计算机硬件笔试试题
- 全国大学生数学建模竞赛历年赛题及优秀论文(链接见ping论)
- matlab牛顿插值法
- Qt:Label(添加文字、图片、gif动图、网站链接)、添加文件资源、添加LCD显示、添加进度条
- 安装配置管理 之 NVIDIA nForce Linux Drivers 集成声网卡和声卡的安装说明
- c语言笛卡尔心形函数,笛卡尔心形函数故事
- centos离线安装(升级)nvidia显卡驱动及cuda10.2
- Latex小写字母花体方法
- portknocking(端口试探)简介
- python- selenium-快眼看书-林深终有路
- Web服务器群集——编译安装Apache构建虚拟主机
- Access数据类型和SQL数据类型
- 传统量化金融时序模型(ARMA,ml-XGBoost,dl-LSTM)
- STI、LOD与WPE概念:形成机理及对电路设计的影响
- Some/IP和DoIP有什么区别?
- 保持屏幕唤醒的几种方式总结
- 【广东开放大学(广东理工职业学院)主办】第二届计算机图形学、人工智能与数据处理国际学术会议(ICCAID 2022)
热门文章
- javaBean与Map之间的转换工具
- 第1章-数据探索(1)-数据预处理
- 在网页上添加微信分享按钮,关注微信号等按钮
- BSOJ 1480 贪吃的九头龙
- python中OSError: [Errno 22] Invalid argument: ‘/\u202aC:/Users/76189/Desktop/donations.csv‘
- 论文阅读1:QUBIC2 A novel and robust biclustering algorithm for analyses
- Lambda表达式的几种使用方式
- kotlin 设计 logo集锦
- eth geth 安卓_零基础学习以太坊开发--安装和使用以太坊客户端geth
- 外网访问Openwrt路由器管理Web及SSH