手机联系人姓名或号码过长无法导入到SIM卡
来源:互联网 发布:vs2015 php插件 编辑:程序博客网 时间:2024/04/29 05:21
手机联系人姓名或号码过长无法导入到SIM卡
[DESCRIPTION]
1. 手机联系人姓名较长;
2. 将此联系人复制到sim卡;
[结果] 提示导入失败
[期望] 导入成功,自动剪切联系人姓名到合适长度
2. 将此联系人复制到sim卡;
[结果] 提示导入失败
[期望] 导入成功,自动剪切联系人姓名到合适长度
[SOLUTION]
1. 截取
CopyProcessor.java (alps\packages\apps\contacts\src\com\mediatek\contacts\list\service)
的copyContactsToSim()方法中的
values.put("tag", simTag);
的前面对simTag进行截取为贵司需要的长度即可。
CopyProcessor.java (alps\packages\apps\contacts\src\com\mediatek\contacts\list\service)
的copyContactsToSim()方法中的
values.put("tag", simTag);
的前面对simTag进行截取为贵司需要的长度即可。
2. 获取不同的SIM/USIM卡可存储姓名(号码)的最大长度
不同的SIM/USIM卡可存储姓名的最大长度有所不同, 贵司可调用以下接口实现:
不同的SIM/USIM卡可存储姓名的最大长度有所不同, 贵司可调用以下接口实现:
『4.4 KK之前版本』alps/packages/apps/Phone/src/com/android/phone/PhoneInterfaceManager.java
『4.4 KK』alps/packages/services/telephony/src/com/mediatek/Phone/PhoneInterfaceManagerEx.java
public int[] getAdnStorageInfo(int simId)
来获取不同的SIM/USIM卡可存储姓名的最大长度. (具体请参看该API实现过程)
------------------------------------------------------------------
使用范例如下:
int sim1id = com.android.internal.telephony.Phone.GEMINI_SIM_1;
int sim2id = com.android.internal.telephony.Phone.GEMINI_SIM_2;
final ITelephony iTel = ITelephony.Stub
.asInterface(ServiceManager.getService(Context.TELEPHONY_SERVICE));
int [] readinfo;
// readinfo[2] = 0; // # max length of number
// readinfo[3] = 0; // # max length of alpha id (name)
try{
readinfo= iTel.getAdnStorageInfo(sim1id);
if (readinfo== null) {
Log.i(TAG,"readinfo is null");
} else {
Log.i(TAG,"----- readinfo[2] = " + readinfo[2] + "readinfo[3] = " + readinfo[3] );
}
} catch(RemoteException e) {
Log.i(TAG, "InterruptedException occured") ;
}
// readinfo[2] = 0; // # max length of number
// readinfo[3] = 0; // # max length of alpha id (name)
try{
readinfo= iTel.getAdnStorageInfo(sim1id);
if (readinfo== null) {
Log.i(TAG,"readinfo is null");
} else {
Log.i(TAG,"----- readinfo[2] = " + readinfo[2] + "readinfo[3] = " + readinfo[3] );
}
} catch(RemoteException e) {
Log.i(TAG, "InterruptedException occured") ;
}
-------------------------------------------------------------------------------------------
另外,readinfo[3]一般为13或14,表示可存储姓名的长度为13或14个字节。
可以参照(2)中方法将其封装成一个方法,返回可以保存到SIM卡的最大姓名长度,
然后在CopyProcess.java中按照这个返回值的大小进行截取,
然后在CopyProcess.java中按照这个返回值的大小进行截取,
号码截取与此类似,需要使用 readinfo[2] 获得的值。
// readinfo[2] = 0; // # max length of number
0 0
- 手机联系人姓名或号码过长无法导入到SIM卡
- 手机联系人姓名或号码过长无法导入到SIM卡
- android 联系人从SIM卡导入的联系人号码是显示“其它”号码不是“手机或者电话”号码
- 联系人导入\导出到SIM卡分析
- 手机中预置联系人(姓名,号码,头像)
- 将SIM卡上的联系人导入Android手机中
- 查询手机和sim卡上的联系人信息(名字,号码,头像)
- 手机sim 卡 联系人获取
- [MTK平台]Copy联系人到SIM卡时名字过长而失败
- 根据号码取得联系人姓名
- 获取手机sim卡的属性号码
- SIM卡所能保存的联系人姓名长度研究。
- 查询手机联系人和sim卡联系人
- 开机导入Sim卡联系人流程分析
- 某些车载蓝牙无法通过PBAP获取手机SIM卡联系人
- 联系人开机自动导入SIM卡联系人分析
- Android开发之contentprovider获取手机所有联系人(姓名、号码、邮箱)
- android 部分韩国手机采用KSC5601编码保存联系人,MTK平台手机无法显示联系人姓名
- RSLinx调试心得
- Windows下卸载MySQL步骤
- Java Web开发Session超时设置
- iOS开发模拟网络状态差
- 递归操作 节点树
- 手机联系人姓名或号码过长无法导入到SIM卡
- UVALive 6837 There is No Alternative (MST+暴力LCA)
- hive命令
- cxf发布webservice 简单使用步骤备忘
- 对象数组排序
- TCP/IP、Http、Socket的区别
- Boost Thread 使用指南
- 正则表达式判断数字
- LeetCode—392. Is Subsequence