修改sim卡号码 android,android 如何动态修改SIM卡应用名称 MT6572 MT6589
两种方法:
方法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相关推荐
- 微信会员卡html修改样式模板,微信小程序 JS动态修改样式的实现代码
微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定.或者用removeClass addClass 来修改样式. 以下是一种动态修改样式的方法,原理是绑定数据,然后动 ...
- Android 10.0动态修改系统属性设备型号(Build.MODEL)
定制化开发中设备型号(ro.product.model)的修改,可以在\build\tools\buildinfo.sh中修改,不过这种方式只能写死了, 所以需要根据不同情况动态修改设备型号 就得修改 ...
- Android 编译期间 动态修改AndroidMainFest文件
背景: 有时间有些需求,需要我们动态的修改AndroidMainFest文件,比如我想把应用所有的横屏改成竖屏.如果用手动替换搜索也可以,但是就会有一个问题就是,和其他分支合并的时候,容易产生冲突. ...
- android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...
最近根据项目需求自定义了一个TextView控件,主要用来做状态的标识,比如一个订单状态有各种,当然了这种设置在Android中可以直接用xml文件来处理,但是对于xml文件太过于麻烦,针对不同的颜色 ...
- android 修改呼出号码,在android中监听呼出电话(电话拦截、修改呼出电话)
在android中向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但我们可以在广播传递给拔号广播接收者之前先得到该广播,然后清除传递给拔号广播接收者的 ...
- Android 开发中动态修改StatusBar 的字体颜色(仅可以黑白)
在开发中,产品要实现一个点击搜索,然后改变statusbar的字体颜色,百度了一通,发现,有一个比较好的blog 可以实现该效果 ,正好可以实现该效果,不论如何先上效果图: 将工具类代码贴上来 这个方 ...
- android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码
做登录或转账系统的人会碰到需要输入密码的情况,而且可能会要求有时明文显示,有时密文显示.如何通过代码来控制呢? 下面的xml定义了一个输入框EditText,默认是系统键盘: android:id=& ...
- android 开机动画动态替换
客户有需求apk 可以动态修改开机动画,按照android 系统原生逻辑是没有办法做到的 代码位置frameworks/base/cmds/bootanimation static const cha ...
- APP动态修改状态栏颜色
对安卓应用开发者,UI部分最难搞的就是APP顶部的状态栏. 一致的APP风格,状态栏仅仅需要设置一种颜色. 安卓全局颜色设置 单一APP状态栏 很显然,我们只要将AppTheme中colorPrima ...
最新文章
- Gradify - 提取图片颜色,创建响应式的 CSS渐变
- oracle导出库压缩参数,oracle数据库的定时备份:导出 压缩 归类
- 富文本编辑器---笑脸表情(一)
- C#.net调用Excel出现问题
- 虚拟机 VMware Workstation12 安装OS X 系统
- pip换源,解决pip下载超时,连接失败等问题
- 你知道该如何搭建 AI 智能问答系统吗?
- Java: RandomAccessFile
- 挖矿从入门到入狱,百度运维获利 10 万被判 3 年。网友:人生已毁
- python2.0安装教程_Python2.7 【安装教程】
- python基础:os模块
- 什么是测试开发工程师(SET)?
- libev的ev_periodic介绍
- 【深信服】Python 开发工程师(云计算、网络安全) 【已offer】
- 安装系统时,硬盘格式转换
- C语言倒序输出/C语言倒置输出
- iPad如何越狱?4.2.1完美越狱教程 二 (cydia 安装)
- 计算机网络组建毕业论文,网络组建毕业论文范文
- 如何制作自己的系统镜像以及备份管理
- 前端性能测试工具hiper介绍
热门文章
- 原来早就被安排了,旅行社用机器学习给你推个性化定制游
- 教育部司长:建议开展琴棋书画等校外培训!
- 178685-33-1,Azide-PEG3-Tos叠氮化物(N3)基团通过点击化学与炔烃、BCN、DBCO反应
- (最新)唯品会WEB端加密参数逆向分析
- 木兰词·拟古决绝词柬友
- 【计算机组成原理】学了计组,CPU执行时间你肯定会算了吧
- nginx uwsgi_pass方式传递真实IP
- nginx proxy_pass匹配路径
- 商业智能,数据仓库,ETL,数仓调度工具informatica介绍手账(一)
- 徐州php溪谷_ThinkPHP溪谷H5游戏平台系统V3.0完整版源码