问题:桌面google日历名称不跟随系统语言变化

分析:

  1. 碰到google的apk,一般先确认是不是apk的问题
  2. 然后看是不是平台的问题
  3. 都不是的话再根据现象分析

1.先看第一步,launcher的所有其他apk都会变化,只有google日历不跟随系统语言变化,先把Google 日历的apk pull出来装到自己的手机上,

adb shell pm path com.google.android.calendar 看下apk在那个路径,然后adb pull出来装到小米9,发现日历应用工作正常,说明apk没问题

2.然后我准备用drive only版本测试,是不是平台问题,后面一想是的话,给平台处理又要等他好久,于是就没验证

3. 既然不打算验证平台问题,那么就自己分析吧。

  • 脑子里大概有个思路,就是在launcher.java 的onConfigurationChanged里面监听语言变化处理,然后我发现语言变化并不会调用到launcher的这个方法;
  • 就想着通过收听语言变化的广播来处理,android.intent.action.LOCALE_CHANGED,但是在Launcher里找了半天没发现更新名称的逻辑
  • 于是就想到了alps\packages\apps\Launcher3\src\com\android\launcher3\BubbleTextView.java,Launcher上的图标都是这东西展示的,然后这个类里搜索了下setText()的方法,发现只有一个地方调用,就是下面展示的地方,找到之后,我们只需要判断是google 日历的时候,获取他的apk名字,然后再setText()就可以了
private void applyIconAndLabel(ItemInfoWithIcon info) {FastBitmapDrawable iconDrawable = newIcon(getContext(), info);mDotParams.color = IconPalette.getMutedColor(info.bitmap.color, 0.54f);setIcon(iconDrawable);setText(info.title);// Add by HZH on 2020/12/3 startif (info instanceof WorkspaceItemInfo) {ComponentName cn = new ComponentName("com.google.android.calendar","com.android.calendar.event.LaunchInfoActivity");if (cn.equals(((WorkspaceItemInfo) info).getTargetComponent())) {try {PackageManager packageManager = getContext().getPackageManager();ActivityInfo activityInfo = packageManager.getActivityInfo(cn, 0);CharSequence googleCalender = activityInfo.loadLabel(packageManager);setText(googleCalender);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}}}// Add by HZH on 2020/12/3 endif (info.contentDescription != null) {setContentDescription(info.isDisabled()? getContext().getString(R.string.disabled_app_label, info.contentDescription): info.contentDescription);}}

经验证,问题解决,并且比其他apk切换语言更快

Mr.Alright---Android 11 mtk平台,桌面google日历名称不跟随系统语言变化相关推荐

  1. android 11 移除桌面搜索栏

    android 11 移除桌面搜索栏 桌面搜素栏属于桌面小组件wiget,简称QSB,默认在桌面launcher3初始化时加载,去掉的方法直接在launcer3中添加逻辑,在初始化时不加载视图,修改点 ...

  2. Android 监听系统语言变化

    ** 监听系统语言变化 ** 监听系统语言变化 首先先创建一个MyApplication继承Application public class MyApplication extends Applica ...

  3. Android Q MTK平台开关机铃声

    google 默认开机动画代码在framework/base/cmds/bootanimation MTK 开机动画代码在vendor/mediatek/proprietary/operator/fr ...

  4. Android非mtk平台T9的实现

    开发MTK平台的机器一般比较幸福,非常友好的支持(对比国外大厂),N多国内运营商的功能支持早有实现,比如T9.但是开发高大上的高通咋办?木有T9啊.不过目前有多种方案可选则. 实现mtk的sqlite ...

  5. MTK 平台获取IMSI号码 以及如何截获系统中的各种消息

    MTK平台 获取本机的SIM卡中IMSI号 公司MTK平台做开发,老板要求在MTK的代码上获得本机上SIM卡的手机号码,查了很多资料后,结果是无法获得,原因是手机号码不是直接存储在SIM卡的,而是信号 ...

  6. 华为 android 11,Android 11发布,华为正式官宣,新系统更值得期待!

    谷歌在近日发布了新版Android 11操作系统的正式版本,早在今年的2月份,谷歌就公布了Android 11 DP1的开发者预览版.供应给部分手机厂商以及开发者进行调试工作,先后经历了三次调测之后. ...

  7. 安卓11 MTK平台 在明亮环境下拍摄黑暗物体,自动启动闪光灯

    文件路径:/vendor/mediatek/proprietary/custom/mtxx(平台)/hal/imgsensor/相机名/camera_AE_PLineTable_xxxx.h 修改相机 ...

  8. Android8.1 MTK平台 修改蓝牙默认名称

    8.1 的默认蓝牙名称为 Android Bluedroid 通过搜索你会找到如下文件 device/generic/common/bluetooth/bdroid_buildcfg.h #ifnde ...

  9. android应用开发实验报告_聚焦 Android 11: Android 11 应用兼容性

    作者 / Android 产品经理 Diana Wong在往期 #11WeeksOfAndroid 系列文章中我们介绍了联系人和身份.隐私和安全,本期将聚焦 Android 11 兼容性.我们将为大家 ...

最新文章

  1. 【特别好】【位运算】maximum-xor-of-two-numbers-in-an-array
  2. springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用
  3. 互联网晚报 | 2月17日 星期四 | 小鹏汽车回应总裁年薪超4亿;B站将上线开播前人脸认证功能;星巴克再次涨价...
  4. 【Flink on k8s】JConsole 远程监控 TaskManager
  5. MySQL 安装(msi/zip方式安装)
  6. 图像局部特征(十)--BRIEF描述子
  7. unity编辑器扩展_07(创建对话框,检测按钮的点击,点击按钮后提示信息,保存设置的数据,显示点击按钮后的处理的进度条信息)...
  8. JavaScript == 和 ===
  9. 开源网络爬虫程序(spider)一览
  10. android 混淆报错记录
  11. MAC中文输入法消失
  12. 超级计算机浪漫展览,这是最独特的“中国式浪漫”
  13. 系统分析师---论软件的系统测试及应用
  14. 计算机二级自学需要买书嘛,计算机二级ms office自学,买什么书看
  15. 【考研英语语法】祈使句
  16. 2022年《网络安全法》迎来首修,拟对多处加大处罚力度
  17. layui 表格加载动画_移动UI设计中动画的3个主要用途
  18. 3DMAX如何打开mat文件
  19. MySQL Shell 使用报错 SyntaxError: Unexpected identifier
  20. 课设舵机狗总结文——CubeMX+STM32F4+FreeRTOS+USART2+幻尔舵机控制板 实现动作组稳定运动

热门文章

  1. 编解码标准-H.264
  2. 利用XSS进行网页钓鱼
  3. 计算机会计电算化与实训报告,【会计电算化实训报告心得体会_2021年会计实训】- 环球网校...
  4. 不安装oracle数据库客户端,使用sqlplus
  5. 紧急通知:无论你英语多差,只要想学,看了此文必有改变
  6. 一个程序教你花式示爱 1——波动心形线
  7. 重磅消息 |《技术人修炼之道:从程序员到百万高管的72项技能》隆重上市!
  8. 什么是SRE? 现场可靠性工程师的重要作用
  9. Linux 调试之 TRACE_EVENT(二)
  10. 计算机毕业论文java毕业设计论文题目s2sh+mysql实现的校园实习兼职系统|招聘兼职求职[包运行成功]