两种方法:

方法1:

packages\apps\launcher2\src\com\android\launcher2\PagedViewIcon.java

1:6575、6573、6577平台:

将applyFromApplicationInfo()方法中的setText,通过packageName来过滤,设置期望显示的名字。

例如:packageName

=“com.android.stk2”,期望显示的名字"我的名字"

if

(packageName等于info.componentName.mPackage)

{

setText("http://blog.sina.com.cn/mtkshanghai")

}

else

{

setText(info.title);

}

2:6589和6572平台:两个stk应用程序是共用一个packageName的,所以无法通过包名来区分,必须通过类名来区分。例如插入卡槽2的sim或usim应用程序是通过启动"stkLauncherActivityⅡ"

将applyFromApplicationInfo()方法中的setText,通过TargetclassName来过滤,设置期望显示的名字。

例如:TargetclassName

=“stkLauncherActivityⅡ”,期望显示的名字"我的名字"

if

(TargetclassName等于info.componentName.mClass)

{

setText("http://blog.sina.com.cn/mtkshanghai")

}

else

{

setText(info.title);

}

修改应用程序的快捷方式名称:

packages\apps\launcher2\src\com\android\launcher2\iconCache.java

具体修改:

将cacheLocked()方法中,通过特殊判断将要显示的名字赋值给entry.title。

同理这里也要区分上面两种情况。

注意:6572对应的版本是JB3, 6589对应的版本:JB2

下面以将STK app name动态修改成运营商名称为例子。

1:运营商的名称是存储在:

卡1: TelephonyProperties.PROPERTY_OPERATOR_ALPHA

卡2: TelephonyProperties.PROPERTY_OPERATOR_ALPHA_2

2:使用运营商名字来动态修改package对应的app name(应用程序名字)

2.1: GB2版本:

修改文件:ContextImpl.java

import

android.os.SystemProperties;

import

com.android.internal.telephony.TelephonyProperties;

@Override

public

CharSequence getText(String packageName, int

resid,

ApplicationInfo

appInfo) {

ResourceName

name = new ResourceName(packageName, resid);

CharSequence

text = getCachedString(name);

if

(text != null) {

//add

start

if(packageName.equalsIgnoreCase("com.android.stk"))

{

Log.d("jby","packagemanager1,stkpackageName1:"+packageName);

String

tmptext=SystemProperties.get(TelephonyProperties.PROPERTY_OPERATOR_ALPHA);

if(!tmptext.isEmpty())

if(!tmptext.equalsIgnoreCase("com.android.stk"))

text=tmptext;

}

else

if(packageName.equalsIgnoreCase("com.android.stk2"))

{

Log.d("jby","packagemanager1,stkpackageName2:"+packageName);

String

tmptext=SystemProperties.get(TelephonyProperties.PROPERTY_OPERATOR_ALPHA_2);

if(!tmptext.isEmpty())

if(!tmptext.equalsIgnoreCase("com.android.stk2"))

text=tmptext;

}

Log.d("jby","text="+text);

//add

end

return

text;

}

if

(appInfo == null) {

try

{

appInfo

= getApplicationInfo(packageName, 0);

}

catch (NameNotFoundException e) {

return

null;

}

}

try

{

Resources

r = getResourcesForApplication(appInfo);

text

= r.getText(resid);

putCachedString(name,

text);

//add

start

if(packageName.equalsIgnoreCase("com.android.stk"))

{

Log.d("jby","packagemanager1,stkpackageName1:"+packageName);

String

tmptext=SystemProperties.get(TelephonyProperties.PROPERTY_OPERATOR_ALPHA);

if(!tmptext.isEmpty())

if(!tmptext.equalsIgnoreCase("com.android.stk"))

text=tmptext;

}

else

if(packageName.equalsIgnoreCase("com.android.stk2"))

{

Log.d("jby","packagemanager2,stkpackageName2:"+packageName);

String

tmptext=SystemProperties.get(TelephonyProperties.PROPERTY_OPERATOR_ALPHA_2);

if(!tmptext.isEmpty())

if(!tmptext.equalsIgnoreCase("com.android.stk2"))

text=tmptext;

}

Log.d("jby","text="+text);

//add

end

return

text;

}

catch (NameNotFoundException e) {

Log.w("PackageManager",

"Failure retrieving resources for"

+

appInfo.packageName);

}

catch (RuntimeException e) {

//

If an exception was thrown, fall through to

return

//

default icon.

Log.w("PackageManager",

"Failure retrieving text 0x"

+

Integer.toHexString(resid) + " in package "

+

packageName, e);

}

return

null;

}

2.2: 同理,JB、JB2、JB3和ICS、ICS2版本:

修改文件:ApplicationPackageManagerl.java

具体修改:参考上述的GB2版本修改,基本一样。

拓展需求:STK app name动态修改成Setup menu的title

1.在TelephonyProperties.java中为两个卡定义存放title的string:

static final String PROPERTY_STKAPP_NAME =

“gsm.stkapp.name”;

static final String PROPERTY_STKAPP_NAME_2 =

“gsm.stkapp.name2”;

2.当SETUP MENU上报时保存title.

在GB版本中的stkService.java或JB、ICS2版本的catService.java中作如下修改:

private void

handleProactiveCommand(CommandParams cmdParams){

……

switch(cmdParams.getCommandType()){

case

SET_UP_MENU:

if(removeMenu(cmdMsg.getMenu())){

mMenuCmd

= null;

}else{

mMenuCmd

= cmdMsg;

//Added

start

If(GEMINI_SIM_1

== simId){

SystemProperties.set(“gsm.stkapp.name”,mMenuCmd.mMenu.title);

}else{

SystemProperties.set(“gsm.stkapp.name2”,

mMenuCmd.mMenu.title);

}

//Endhttp://blog.sina.com.cn/mtkshanghai

}

}

}

注意:SystemProperties.set异步的。且设置属性命名是规范的,具体可参考如下:

3: 同理,使用上述SystemProperties.get(“gsm.stkapp.name”)获取SETUP MENU上报时保存title,并用来动态修改package对应的app name(应用程序名字)

修改sim卡号码 android,android 如何动态修改SIM卡应用名称 MT6572 MT6589相关推荐

  1. 微信会员卡html修改样式模板,微信小程序 JS动态修改样式的实现代码

    微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定.或者用removeClass addClass 来修改样式. 以下是一种动态修改样式的方法,原理是绑定数据,然后动 ...

  2. Android 10.0动态修改系统属性设备型号(Build.MODEL)

    定制化开发中设备型号(ro.product.model)的修改,可以在\build\tools\buildinfo.sh中修改,不过这种方式只能写死了, 所以需要根据不同情况动态修改设备型号 就得修改 ...

  3. Android 编译期间 动态修改AndroidMainFest文件

    背景: 有时间有些需求,需要我们动态的修改AndroidMainFest文件,比如我想把应用所有的横屏改成竖屏.如果用手动替换搜索也可以,但是就会有一个问题就是,和其他分支合并的时候,容易产生冲突. ...

  4. android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...

    最近根据项目需求自定义了一个TextView控件,主要用来做状态的标识,比如一个订单状态有各种,当然了这种设置在Android中可以直接用xml文件来处理,但是对于xml文件太过于麻烦,针对不同的颜色 ...

  5. android 修改呼出号码,在android中监听呼出电话(电话拦截、修改呼出电话)

    在android中向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但我们可以在广播传递给拔号广播接收者之前先得到该广播,然后清除传递给拔号广播接收者的 ...

  6. Android 开发中动态修改StatusBar 的字体颜色(仅可以黑白)

    在开发中,产品要实现一个点击搜索,然后改变statusbar的字体颜色,百度了一通,发现,有一个比较好的blog 可以实现该效果 ,正好可以实现该效果,不论如何先上效果图: 将工具类代码贴上来 这个方 ...

  7. android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码

    做登录或转账系统的人会碰到需要输入密码的情况,而且可能会要求有时明文显示,有时密文显示.如何通过代码来控制呢? 下面的xml定义了一个输入框EditText,默认是系统键盘: android:id=& ...

  8. android 开机动画动态替换

    客户有需求apk 可以动态修改开机动画,按照android 系统原生逻辑是没有办法做到的 代码位置frameworks/base/cmds/bootanimation static const cha ...

  9. APP动态修改状态栏颜色

    对安卓应用开发者,UI部分最难搞的就是APP顶部的状态栏. 一致的APP风格,状态栏仅仅需要设置一种颜色. 安卓全局颜色设置 单一APP状态栏 很显然,我们只要将AppTheme中colorPrima ...

最新文章

  1. Gradify - 提取图片颜色,创建响应式的 CSS渐变
  2. oracle导出库压缩参数,oracle数据库的定时备份:导出 压缩 归类
  3. 富文本编辑器---笑脸表情(一)
  4. C#.net调用Excel出现问题
  5. 虚拟机 VMware Workstation12 安装OS X 系统
  6. pip换源,解决pip下载超时,连接失败等问题
  7. 你知道该如何搭建 AI 智能问答系统吗?
  8. Java: RandomAccessFile
  9. 挖矿从入门到入狱,百度运维获利 10 万被判 3 年。网友:人生已毁
  10. python2.0安装教程_Python2.7 【安装教程】
  11. python基础:os模块
  12. 什么是测试开发工程师(SET)?
  13. libev的ev_periodic介绍
  14. 【深信服】Python 开发工程师(云计算、网络安全) 【已offer】
  15. 安装系统时,硬盘格式转换
  16. C语言倒序输出/C语言倒置输出
  17. iPad如何越狱?4.2.1完美越狱教程 二 (cydia 安装)
  18. 计算机网络组建毕业论文,网络组建毕业论文范文
  19. 如何制作自己的系统镜像以及备份管理
  20. 前端性能测试工具hiper介绍

热门文章

  1. 原来早就被安排了,旅行社用机器学习给你推个性化定制游
  2. 教育部司长:建议开展琴棋书画等校外培训!
  3. 178685-33-1,Azide-PEG3-Tos叠氮化物(N3)基团通过点击化学与炔烃、BCN、DBCO反应
  4. (最新)唯品会WEB端加密参数逆向分析
  5. 木兰词·拟古决绝词柬友
  6. 【计算机组成原理】学了计组,CPU执行时间你肯定会算了吧
  7. nginx uwsgi_pass方式传递真实IP
  8. nginx proxy_pass匹配路径
  9. 商业智能,数据仓库,ETL,数仓调度工具informatica介绍手账(一)
  10. 徐州php溪谷_ThinkPHP溪谷H5游戏平台系统V3.0完整版源码