android 改变来电号码,Android8.1 MTK平台 Dialer修改(来电全屏、归属地显示)
来电默认全屏
默认情况下,来电android是以通知窗口的形式显示,只在屏幕的顶部显示,现在改为全屏显示
修改位置
alps\vendor\mediatek\proprietary\packages\apps\Dialer\java\com\android\incallui\InCallPresenter.java
private boolean startUi(InCallState inCallState) {
boolean isCallWaiting = mCallList.getActiveOrBackgroundCall() != null &&
mCallList.getIncomingCall() != null;
Log.e(this, "isCallWaiting=="+isCallWaiting + " inCallState="+inCallState);
Log.i(this, " isIncoming="+inCallState.isIncoming());
// If the screen is off, we need to make sure it gets turned on for incoming calls.
// This normally works just fine thanks to FLAG_TURN_SCREEN_ON but that only works
// when the activity is first created. Therefore, to ensure the screen is turned on
// for the call waiting case, we finish() the current activity and start a new one.
// There should be no jank from this since the screen is already off and will remain so
// until our new activity is up.
if (isCallWaiting) {
if (mProximitySensor.isScreenReallyOff() && isActivityStarted()) {
Log.i(this, "Restarting InCallActivity to turn screen on for call waiting");
mInCallActivity.finish();
return false;
} else {
Log.i(this, "show InCallActivity for waiting call");
showInCall(false, false);
}
} else {
cczheng add show Full Screen in call UI replace incall notification
//mStatusBarNotifier.updateNotification(mCallList);
mContext.startActivity(InCallActivity.getIntent(
mContext, false/*showDialpad*/, false/*newOutgoingCall*/, true /* forFullScreen */));
}
return true;
}
将 updateNotification 方式替换为 start InCallActivity
联系人已保存来电时,增加归属地显示
android原来的归属地显示条件为,当来电号码未存储为联系人时,也就是来电页面显示为号码时,号码下方会显示出来电归属地
当号码已经保存为联系人,来电页面显示联系人名称时,不显示来电归属地。需求来了,联系人情况也要显示来电归属地。
来电归属地查询的流程后面会单独介绍,可先看这篇 号码归属地识别-Android电话应用
image
效果图
修改位置
1、alps\vendor\mediatek\proprietary\packages\apps\Dialer\java\com\android\incallui\CallerInfoAsyncQuery.java
void updateData(int token, Object cookie, Cursor cursor) {
.....
if (true/*TextUtils.isEmpty(mCallerInfo.name)*/) {//cczheng change true
// Actually when no contacts match the incoming phone number,
// the CallerInfo object is totally blank here (i.e. no name
// *or* phoneNumber). So we need to pass in cw.number as
// a fallback number.
mCallerInfo.updateGeoDescription(mQueryContext, cw.number);
}
......
}
号码和姓名的情况都去查询归属地
2、alps\vendor\mediatek\proprietary\packages\apps\Dialer\java\com\android\incallui\CallCardPresenter.java
private void updatePrimaryDisplayInfo() {
......
mInCallScreen.setPrimary(
new PrimaryInfo(
number,
mPrimary.updateNameIfRestricted(name),
nameIsNumber,
shouldShowLocationAsLabel(nameIsNumber, mPrimaryContactInfo.shouldShowLocation)
? mPrimaryContactInfo.location
: number + "\n" + mPrimaryContactInfo.location/*null*/,/*cczheng change null to locationlabel*/
isChildNumberShown || isCallSubjectShown ? null : mPrimaryContactInfo.label,
mPrimaryContactInfo.photo,
mPrimaryContactInfo.photoType,
mPrimaryContactInfo.isSipCall,
showContactPhoto,
hasWorkCallProperty || isWorkContact,
mPrimary.isSpam(),
mPrimary.answeringDisconnectsForegroundVideoCall(),
shouldShowLocation(),
mPrimaryContactInfo.lookupKey,
multimediaData,
mPrimary.getNumberPresentation()));
.....
}
将原来的null替换为 号码和归属地拼接,\n 换行显示
3、alps\vendor\mediatek\proprietary\packages\apps\Dialer\java\com\android\incallui\contactgrid\res\layout\incall_contactgrid_bottom_row.xml
将id为 contactgrid_forwardNumber 和 contactgrid_bottom_text 的 android:singleLine="true" 改为 false,为了换行显示
修改这三个地方重新编译Dialer,push 查看效果ok
android 改变来电号码,Android8.1 MTK平台 Dialer修改(来电全屏、归属地显示)相关推荐
- Android8.1 MTK平台 Dialer修改(来电全屏、归属地显示)
来电默认全屏 默认情况下,来电android是以通知窗口的形式显示,只在屏幕的顶部显示,现在改为全屏显示 修改位置 alps\vendor\mediatek\proprietary\packages\ ...
- Android8.1 MTK平台 Dialer修改(通话常亮、按钮接听)
通话保持常亮(不息屏) 在网上搜索的 Android保持屏幕常亮的方法,一种是 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SC ...
- Android8.1 MTK平台 增加三指截屏(仿IOS左下角显示缩略图点击放大显示)
效果图 修改后动画如下 系统原动画如下 三指截屏 PhoneWindowManager 同级目录下的 SystemGesturesPointerEventListener.java 主要负责处理界面的 ...
- Android8.1 MTK 平台 Launcher3 修改定制
一.去掉默认 Google 搜索栏 修改位置 vendor\mediatek\proprietary\packages\apps\Launcher3\src\com\android\launcher3 ...
- Android 系统(112)---Android系统读取 CPU温度(MTK平台)
Android系统读取 CPU温度(MTK平台) 一.[MTK 平台]读取温度命令 1.查看类型是否是 CPU adb shell "cat /sys/class/thermal/therm ...
- Android WebView 视频播放,全屏按钮不显示或灰显解决方案
Android WebView 视频播放,全屏按钮不显示或灰显解决方案 背景 问题定位 背景 在Android开发中,遇到了如下问题:Activity内嵌WebView,加载有视频的页面时,视频无法全 ...
- Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一)
项目中有个需求,播放爱奇艺的视频,百度了一通,可能是搜索词有问题,没找到解决方法,后来无意中发现微信可以播放,就想到是否可以使用微信的x5内核,一试发现可以实现.想要实现的效果如下,点击全屏后全屏播放 ...
- android x5获取播放地址,Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一)...
Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一) 发布时间:2018-06-27 18:30, 浏览次数:1438 , 标签: Android WebVi ...
- android 8.1 截屏,Android8.1 MTK平台 截屏功能分析
前言 涉及到的源码有 frameworksbaseservicescorejavacomandroidserverpolicyPhoneWindowManager.java vendormediate ...
最新文章
- 架构与思维:系统容量设计
- 简单说一下,你对CPU缓存的了解?
- 安装autoit libary失败问题解决
- oracle数据抽取脚本,oracle的一些信息抽取脚本.sql
- web安全_皮卡丘_xss
- 重建二叉树(基于js)
- Codeforces Round #361(div 2)
- Android 简介:Android SDK 和开发框架简介
- Hive环境搭建启动报错
- VS2010打开旧版本MFC工程无对话框
- JavaScript语言精粹(修订版)
- 安卓开发 实现文字渐变效果_AI教程!用网格工具做渐变字效
- Error: Could not open connection to jdbc:hive2://master:10000: java.net.ConnectException: Connection
- PHP 微信小程序支付实现
- ubuntu 18.04快捷显示桌面
- 输入分数,判断成绩等级(使用if和switch两种方法)
- 《海边的卡夫卡》摘抄
- python怎么计算_python怎么计算
- zzulioj1147: 查找子数组
- 三相可控全桥整流与DC Buck变换电路设计仿真问题汇总
热门文章
- unity 利用NavMeshAgent2D实现怪物追人
- 【已解决】‘node‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 / 全新安装node
- linux 编译QT atom,QT5 编译使用TagLib
- SSM整合案例(超详细)
- 《免费前端教程不会告诉你这些》知乎LIVE读后感
- 基于蚁群算法的六轴机械臂路径规划(运动学模型建立)
- idea 2019.1.3注册码(亲测可用)
- ASEMI肖特基二极管型号大全
- Windwos10启动后 Print Spooler 服务不能自动启动的解决方法
- 分辨率、DPI、PPI和屏幕尺寸,你都知道是啥么?