当前位置: 首页 > news >正文

iis网站架设教程软文广告300字范文

iis网站架设教程,软文广告300字范文,电子商务网站建设报告范文,wordpress百度时时推送文章目录定位Android电话的源码及UI禁止打电话时播放运营商广告视频彩铃运营商视频彩铃framework禁止播放视频彩铃需求:打电话时,对方未接听,这个时候可能会播放运营商的视频彩铃,需求是屏蔽彩铃播放。测试平台:展锐。…

文章目录

  • 定位Android电话的源码及UI
  • 禁止打电话时播放运营商广告视频彩铃
    • 运营商视频彩铃
    • framework禁止播放视频彩铃

需求:打电话时,对方未接听,这个时候可能会播放运营商的视频彩铃,需求是屏蔽彩铃播放。
测试平台:展锐。
安卓版本:13。

定位Android电话的源码及UI

打电话时查看logcat打印

com.android.dialer/com.android.incallui.InCallServiceImpl
start default phone app:com.android.dialerSTART u0 {act=android.intent.action.MAIN flg=0x10040000 cmp=com.android.dialer/com.android.incallui.InCallActivity (has extras)}
com.android.dialer/com.android.incallui.InCallActivity2024-12-24 11:24:39.914  9381-12016 WindowManager           system_server                        D   update app focus from ActivityRecord{9a442d2 u0 com.ntt.n.phone/.mpv.presenter.PhoneKeyboardActivityPresenter t45} to ActivityRecord{c32e28 u0 com.android.dialer/com.android.incallui.InCallActivity t48}
InCallActivity.showMainInCallFragment
InCallFragment.onCreateView

从打印可以大致知道源码及界面类的信息InCallActivity及InCallFragment,
其对应的apk源码在vendor/sprd/platform/packages/apps/SprdDialer目录下,
界面类java/com/android/incallui/InCallActivity.java

 setContentView(R.layout.incall_screen);

其ui内容res/layout/incall_screen.xml比较简短

<!-- In-call Phone UI; see InCallActivity.java. -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><FrameLayoutandroid:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"/><Viewandroid:id="@+id/psuedo_black_screen_overlay"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#000000"android:visibility="gone"android:keepScreenOn="true"/>
</FrameLayout>

禁止打电话时播放运营商广告视频彩铃

运营商视频彩铃

安卓打电话时出现视频彩铃广告是因为对方开通了视频彩铃业务,这是一种基于 VoLTE 技术的运营商业务,被叫方定制后,主叫方在拨打电话等待接通时就可能会看到一段视频媒体来替代普通网络回铃音。
如下图:
在这里插入图片描述
在这里插入图片描述

framework禁止播放视频彩铃

  1. 看log打印
2024-12-24 16:28:55.615 11385-11385 Dialer                  com.android.dialer                   I  VideoPauseController.setUp - enter
2024-12-24 16:28:55.639 11385-11385 Dialer                  com.android.dialer                   I  InCallPresenter.setUp - mIsVideoEnable = true
  1. 定位到代码
    vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/
    InCallPresenter.java
    关键在于变量isSupportVideoRingTone的值
private boolean[] isSupportVideoRingTone;private void updateCarrierConfiguration(int phoneId, boolean reset) {int subId =  getSubIdByPhoneId(phoneId);UniCarrierConfigManager configManager = new UniCarrierConfigManager(context);PersistableBundle b = null;LogUtil.i("InCallPresenter.updateCarrierConfiguration", "subId:  %d", subId);if (subId != -1 && !reset&& configManager != null && configManager.getConfigForSubId(subId) != null) {b = configManager.getConfigForSubId(subId);isConferenceParticipantLabel[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_CONFERENCE_PARTICIPANT_LABEL);isShowNumberAndName[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_SHOW_NUMBER_AND_NAME);isSupportMultiVideoCall[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_SUPPORT_MULTI_VIDEO_CALL);isHdVoiceIconShouldBeRemoved[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_HD_VOICE_ICON_SHOULD_BE_REMOVED);isFeatureHdAudio[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_FEATURE_HD_AUDIO);isSupportVideoRingTone[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_SUPPORTS_VIDEO_RING_TONE);isShowHoldButton[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_SHOW_HOLD_BUTTON);isSupportVideoCustomerService[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_SUPPORT_VIDEO_CUSTOMER_SERVICE);LogUtil.i("InCallPresenter.updateCarrierConfiguration","getCarrierConfig from subid");} else {isConferenceParticipantLabel[phoneId] = true;isShowNumberAndName[phoneId] = false;isSupportMultiVideoCall[phoneId] = true;isHdVoiceIconShouldBeRemoved[phoneId] = false;isFeatureHdAudio[phoneId] = false;isSupportVideoRingTone [phoneId]= false;isShowHoldButton[phoneId] = true;isSupportVideoCustomerService[phoneId] = false;LogUtil.i("InCallPresenter.updateCarrierConfiguration","use default carrierConfig");}}

          isSupportVideoRingTone[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_SUPPORTS_VIDEO_RING_TONE);
  1. 代码修改
    只要固定isSupportVideoRingTone数组中所有值为false就可以避免播放视频彩铃
          isSupportVideoRingTone [phoneId]= false;

修改的patch如下

diff --git a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/InCallPresenter.java b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/InCallPresenter.java
index 29a2f4836e..a2e2b1206b 100755
--- a/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/InCallPresenter.java
+++ b/vendor/sprd/platform/packages/apps/SprdDialer/java/com/android/incallui/InCallPresenter.java
@@ -2822,7 +2823,8 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.AudisSupportMultiVideoCall[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_SUPPORT_MULTI_VIDEO_CALL);isHdVoiceIconShouldBeRemoved[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_HD_VOICE_ICON_SHOULD_BE_REMOVED);isFeatureHdAudio[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_FEATURE_HD_AUDIO);
-          isSupportVideoRingTone[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_SUPPORTS_VIDEO_RING_TONE);
+          //isSupportVideoRingTone[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_SUPPORTS_VIDEO_RING_TONE);
+          isSupportVideoRingTone [phoneId]= false;isShowHoldButton[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_CARRIER_SHOW_HOLD_BUTTON);isSupportVideoCustomerService[phoneId] = b.getBoolean(UniCarrierConfigManager.KEY_SUPPORT_VIDEO_CUSTOMER_SERVICE);LogUtil.i("InCallPresenter.updateCarrierConfiguration","getCarrierConfig from subid");

作者:帅得不敢出门

http://www.dtcms.com/a/573645.html

相关文章:

  • visual studio msvc 编译 libffi 静态库
  • 实现小程序 uniApp 输入框展示自定义表情包
  • uniapp ios android 本地离线debug
  • 基于HAL库实现GPIO输出状态控制输入状态查询及定时器PWM波和串口收发数据
  • 免费html网站哪里有广告设计培训机构
  • mysql三范式
  • RTOS多任务调度在西门子智能交通信号控制系统中的深度实践与优化
  • 【1】视觉SLAM的数学表达
  • Nginx高可用配置实战:负载均衡 + 健康检查 + 动态扩展
  • 邵阳建设银行网站是多少钱企业微信crm
  • 神经网络常见操作
  • GitCode 源启高校|北京邮电大学站:解锁开源力量,启航信息新航道
  • Hibernate之helloworld 案例
  • 建立企业网站的详细步骤爱站云网站建设heikw
  • SSM框架题库
  • 电子基础】逻辑器件全解析:从门电路到FPGA,选型与应用指南
  • 龙岩网站建设平台手机创建自己网站
  • 人工智能学习中深度学习之python基础之 类
  • K8s/Kubernetes(v1.23.17)三节点集群部署全过程的总结与问题回顾
  • 调试oracle函数性能(嵌入存储过程)
  • React 元素渲染
  • 个人开发者短信验证码接入指南-阿里云
  • 移动端优秀网站上海传媒公司名字
  • 建设一个网站的需求分析一个网站开发流程
  • PsPasswd(7.19):远程修改密码的边界与合规建议
  • 【钉钉多元表格(自动化)】钉钉群根据表格 自动推送当天值日生信息
  • LangFlow源码深度解析:Component核心机制与生态体系
  • dede织梦仿站网站建设做网站赚谁的钱
  • DropLoRA技术详解:克服大模型微调过拟合的创新方法
  • 【剑斩OFFER】算法的暴力美学——串联所有单词的字串