有许多人提过这个问题了,可我还是不知道怎么解决,我太菜了,,,
问题:中文联系人写入SIM后读出来的却是空的,也没找到什么好的SIM联系人导入软件就只能自己写了
connent://acc/adn这个链接好像也只是个临时区,在飞行模式打开之后关闭(或者重启手机)重新启用SIM卡后这个表的数据才发生变化我需要几行实例代码,功能是写入一个联系人: 张三 10086并且在手机重启之后仍然可以正常读取如果读取的过程也需要自定义,那么麻烦请把读取的代码也贴下【环境最好是1.5(API3)】
谢了
问题:中文联系人写入SIM后读出来的却是空的,也没找到什么好的SIM联系人导入软件就只能自己写了
connent://acc/adn这个链接好像也只是个临时区,在飞行模式打开之后关闭(或者重启手机)重新启用SIM卡后这个表的数据才发生变化我需要几行实例代码,功能是写入一个联系人: 张三 10086并且在手机重启之后仍然可以正常读取如果读取的过程也需要自定义,那么麻烦请把读取的代码也贴下【环境最好是1.5(API3)】
谢了
解决方案 »
- 如何让ListView默认选中第一项?
- 高手请入:android2.1 源码编译 及 SDK 修改
- 如何使用Android ContentObserver 监听数据库变化
- andorid raw文件夹下的bin文件如何读取???
- 再自己的应用中引用百度离线地图
- android
- PopupWindow中的ListView不相应点击事件了。。。
- BroadcastReceiver获取不到Intent的Extra
- 新手求助adt更新问题
- cordova-plugin-audio-recorder-api 的录音总是闪退
- 为什么红色部分总是出错呢,怎么改啊,急急急
- Android模拟机运行时,会突然奔溃,显示问题是内存不可读
我想要大致这样的形式的
void insertSimNum(String sName,String sNum){
...
}至于读取,我想过了,还是不能完全自定义的,因为SIM卡上的联系人信息也必须能在其他手机上使用
if (!TextUtils.isEmpty(alphaTag)) {
byteTag = GsmAlphabet.stringToGsm8BitPacked(alphaTag);
System.arraycopy(byteTag, 0, adnString, 0, byteTag.length);
}
GsmAlphabet.stringToGsm8BitPacked这个函数是关键函数
你下个断点,自己能跟到这,就知道是怎么回事的了
转JAVA string字符串成ucs2字符串的函数。
/******
* @hide
* @param gbString
* @return
*/ public static byte[] gbEncoding(final String gbString) { byte[] result = null;
result = new byte[gbString.length() * 2 + 1];
result[0] = (byte) 0x80;
for (int i = 0; i < gbString.length(); i++) { char c = (char) gbString.charAt(i);
char tmp = c;
result[2 * i + 1] = (byte) (c >> 8);
result[2 * i + 2] = (byte) tmp;
}
return result; }修改这一段代码:
if (!TextUtils.isEmpty(alphaTag)) {
byteTag = GsmAlphabet.stringToGsm8BitPacked(alphaTag);
System.arraycopy(byteTag, 0, adnString, 0, byteTag.length);
}
改成 if(isAlphabet(alphaTag)){
byteTag = GsmAlphabet.stringToGsm8BitPacked(alphaTag);
}else{
if (alphaTag.length() >= 7) {
Log.w(LOG_TAG,
"[buildAdnString] Max length of Chinese tag is " + 6);
return null;
}
byteTag = gbEncoding(alphaTag);
}isAlphabet函数判断要存进sim卡的名字是不是全是ascill字符,是则调用系统原本默认的函数,否则把字符串转成sim卡能支持的USC2字符串
http://topic.csdn.net/u/20110309/12/7a5693b7-22e7-40a1-a862-c058a5a49fdd.html
这个帖子我也看过了,我现在好奇的就是那个SIM_CONTACTS_URI到底是什么?发帖人没分享我想这个SIM_CONTACTS_URI是不是指向一个专门为sim卡写的ContentProvider?欢迎大家讨论这个问题,知道的人指点一二