525+通信录里面编辑me525联系人丢失有3个同样的号码

Android通讯录模糊匹配搜索实现(号码、首字母、简拼、全拼)
Android通讯录模糊匹配搜索实现(号码、首字母、简拼、全拼)
[摘要:Android通信录隐约婚配搜刮完成(号码、尾字母、简拼、齐拼) 日 事情纪录 小巫正在事情中遇到一个需供,请求完成通信录接洽人的搜刮,猎取接洽人的体式格局有好几种,我皆有]
Android通讯录模糊匹配搜索实现(号码、首字母、简拼、全拼)
小巫在工作中碰到一个需求,要求实现通讯录联系人的搜索,获取联系人的方式有好几种,我都有点混乱了,下面提供我最近用的一种,看起来还算比较简洁的,它是根据mimetypes表来查的。
// 查询所有联系人的姓名,电话,邮箱
public ArrayList&Contact& loadContacts() throws Exception {
Uri uri = Uri.parse(&content://com.android.contacts/contacts&);
ContentResolver resolver = this.getContentResolver();
Cursor cursor = resolver.query(uri, new String[] { &_id& }, null, null,
ArrayList&Contact& contacts = new ArrayList&Contact&();
while (cursor.moveToNext()) {
Contact contact = new Contact();
int contractID = cursor.getInt(0);
StringBuilder sb = new StringBuilder(&contractID=&);
contact.setId(String.valueOf(contractID));
sb.append(contractID);
uri = Uri.parse(&content://com.android.contacts/contacts/&
+ contractID + &/data&);
Cursor cursor1 = resolver.query(uri, new String[] { &mimetype&,
&data1&, &data2& }, null, null, null);
while (cursor1.moveToNext()) {
String data1 = cursor1.getString(cursor1
.getColumnIndex(&data1&));
String mimeType = cursor1.getString(cursor1
.getColumnIndex(&mimetype&));
if (&vnd.android.cursor.item/name&.equals(mimeType)) { // 是姓名
contact.setName(data1);
sb.append(&,name=& + data1);
} else if (&vnd.android.cursor.item/email_v2&.equals(mimeType)) { // 邮箱
if (!TextUtils.isEmpty(data1)) {
contact.setEmail(data1);
contacts.add(contact);
sb.append(&,email=& + data1);
} else if (&vnd.android.cursor.item/phone_v2&.equals(mimeType)) { // 手机
contact.setNumber(data1.replaceAll(&-&, &&));
sb.append(&,phone=& + data1);
contacts.add(contact);
cursor1.close();
Log.i(&wwj&, sb.toString());
cursor.close();
关于模糊匹配,我真的有点头大,我想到的是用正则表达式来做,但需要用到第三方类库pinyin4j.jar,我试了一下,效率都点低,明显感觉有点慢了,假如你的通讯录的量比较大,用这个来做确实不合时宜,或许可以进行优化的地方。
定义一个工具类
package com.
import net.sourceforge.pinyin4j.PinyinH import net.sourceforge.pinyin4j.format.HanyuPinyinCaseT import net.sourceforge.pinyin4j.format.HanyuPinyinOutputF import net.sourceforge.pinyin4j.format.HanyuPinyinToneT import net.sourceforge.pinyin4j.format.HanyuPinyinVCharT import android.monDataKinds.P import android.text.TextU
public class BaseUtil {
public final static String[] PHONES_PROJECTION = new String[] {
Phone.DISPLAY_NAME, Phone.NUMBER };
public static String STRS[] = { &&, &&, &[abc]&, &[def]&, &[ghi]&, &[jkl]&,
&[mno]&, &[pqrs]&, &[tuv]&, &[wxyz]& };
* 将字符串中的中文转化为拼音,其他字符不变
* @param inputString
public static String getPingYin(String inputString) {
if (TextUtils.isEmpty(inputString)) {
return &&;
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
char[] input = inputString.trim().toCharArray();
String output = &&;
for (int i = 0; i & input. i++) {
if (java.lang.Character.toString(input[i]).matches(
&[\u4E00-\u9FA5]+&)) {
String[] temp = PinyinHelper.toHanyuPinyinStringArray(
input[i], format);
if (temp == null || TextUtils.isEmpty(temp[0])) {
output += temp[0].replaceFirst(temp[0].substring(0, 1),
temp[0].substring(0, 1).toUpperCase());
output += java.lang.Character.toString(input[i]);
} catch (Exception e) {
e.printStackTrace();
* 按号码-拼音搜索联系人
* @param str
public void search(String str){
contactList.clear();
//如果搜索条件以0 1 +开头则按号码搜索
if(str.toString().startsWith(&0&) || str.toString().startsWith(&1&)
|| str.toString().startsWith(&+&)){
for(Model model : allContactList){
if(model.telnum.contains(str)){
model.group =
contactList.add(model);
adapter.refresh(contactList, false);
StringBuffer sb = new StringBuffer();
//获取每一个数字对应的字母列表并以'-'隔开
for(int i = 0; i & str.length(); i++){
sb.append((str.charAt(i) &= '9' && str.charAt(i) &= '0')
? BaseUtil.STRS[str.charAt(i) - '0'] : str.charAt(i));
if(i != str.length() - 1){
sb.append(&-&);
for(Model model : allContactList){
if(contains(sb.toString(), model, str)){
contactList.add(model);
} else if(model.telnum.contains(str)){
model.group =
contactList.add(model);
adapter.refresh(contactList, false);
* 根据拼音搜索
* @param str
正则表达式
* @param pyName
* @param isIncludsive 搜索条件是否大于6个字符
public boolean contains(String str, Model model, String search){
if(TextUtils.isEmpty(model.pyname)){
model.group = &&;
//搜索条件大于6个字符将不按拼音首字母查询
if(search.length() & 6){
//根据首字母进行模糊查询
Pattern pattern = pile(&^& + str.toUpperCase().replace(&-&, &[*+#a-z]*&));
Matcher matcher = pattern.matcher(model.pyname);
if(matcher.find()){
String tempStr = matcher.group();
for(int i = 0; i & tempStr.length(); i++){
if(tempStr.charAt(i) &= 'A' && tempStr.charAt(i) &= 'Z'){
model.group += tempStr.charAt(i);
//根据全拼查询
Pattern pattern = pile(str.replace(&-&, &&), Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(model.pyname);
boolean flag = matcher.find();
model.group = matcher.group();
上面的代码是我从网上搜了很久才搜到的一个demo里面的代码,我整合到项目当中去,发现使用pinyin4j.jar类库效率实在有点低,所以我自己想了其他办法,不用第三方类库来实现。
下面是小巫的实现:
我找到一篇关于,中文字符转换为拼音的实现类,很有用
package com.suntek.mobilemeeting.
public class ChineseSpelling {
private static int[] pyvalue = new int[] { -20319, -20317, -20304, -20295,
-20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036,
-20032, -20026, -20002, -19990, -19986, -19982, -19976, -19805,
-19784, -19775, -19774, -19763, -19756, -19751, -19746, -19741,
-19739, -19728, -19725, -19715, -19540, -19531, -19525, -19515,
-19500, -19484, -19479, -19467, -19289, -19288, -19281, -19275,
-19270, -19263, -19261, -19249, -19243, -19242, -19238, -19235,
-19227, -19224, -19218, -19212, -19038, -19023, -19018, -19006,
-19003, -18996, -18977, -18961, -18952, -18783, -18774, -18773,
-18763, -18756, -18741, -18735, -18731, -18722, -18710, -18697,
-18696, -18526, -18518, -18501, -18490, -18478, -18463, -18448,
-18447, -18446, -18239, -18237, -18231, -18220, -18211, -18201,
-18184, -18183, -18181, -18012, -17997, -17988, -17970, -17964,
-17961, -17950, -17947, -17931, -17928, -17922, -17759, -17752,
-17733, -17730, -17721, -17703, -17701, -17697, -17692, -17683,
-17676, -17496, -17487, -17482, -17468, -17454, -17433, -17427,
-17417, -17202, -17185, -16983, -16970, -16942, -16915, -16733,
-16708, -16706, -16689, -16664, -16657, -16647, -16474, -16470,
-16465, -16459, -16452, -16448, -16433, -16429, -16427, -16423,
-16419, -16412, -16407, -16403, -16401, -16393, -16220, -16216,
-16212, -16205, -16202, -16187, -16180, -16171, -16169, -16158,
-16155, -15959, -15958, -15944, -15933, -15920, -15915, -15903,
-15889, -15878, -15707, -15701, -15681, -15667, -15661, -15659,
-15652, -15640, -15631, -15625, -15454, -15448, -15436, -15435,
-15419, -15416, -15408, -15394, -15385, -15377, -15375, -15369,
-15363, -15362, -15183, -15180, -15165, -15158, -15153, -15150,
-15149, -15144, -15143, -15141, -15140, -15139, -15128, -15121,
-15119, -15117, -15110, -15109, -14941, -14937, -14933, -14930,
-14929, -14928, -14926, -14922, -14921, -14914, -14908, -14902,
-14894, -14889, -14882, -14873, -14871, -14857, -14678, -14674,
-14670, -14668, -14663, -14654, -14645, -14630, -14594, -14429,
-14407, -14399, -14384, -14379, -14368, -14355, -14353, -14345,
-14170, -14159, -14151, -14149, -14145, -14140, -14137, -14135,
-14125, -14123, -14122, -14112, -14109, -14099, -14097, -14094,
-14092, -14090, -14087, -14083, -13917, -13914, -13910, -13907,
-13906, -13905, -13896, -13894, -13878, -13870, -13859, -13847,
-13831, -13658, -13611, -13601, -13406, -13404, -13400, -13398,
-13395, -13391, -13387, -13383, -13367, -13359, -13356, -13343,
-13340, -13329, -13326, -13318, -13147, -13138, -13120, -13107,
-13096, -13095, -13091, -13076, -13068, -13063, -13060, -12888,
-12875, -12871, -12860, -12858, -12852, -12849, -12838, -12831,
-12829, -12812, -12802, -12607, -12597, -12594, -12585, -12556,
-12359, -12346, -12320, -12300, -12120, -12099, -12089, -12074,
-12067, -12058, -12039, -11867, -11861, -11847, -11831, -11798,
-11781, -11604, -11589, -11536, -11358, -11340, -11339, -11324,
-11303, -11097, -11077, -11067, -11055, -11052, -11045, -11041,
-11038, -11024, -11020, -11019, -11018, -11014, -10838, -10832,
-10815, -10800, -10790, -10780, -10764, -10587, -10544, -10533,
-10519, -10331, -10329, -10328, -10322, -10315, -10309, -10307,
-10296, -10281, -10274, -10270, -10262, -10260, -10256, -10254 };
private static String[] pystr = new String[] { &a&, &ai&, &an&, &ang&,
&ao&, &ba&, &bai&, &ban&, &bang&, &bao&, &bei&, &ben&, &beng&,
&bi&, &bian&, &biao&, &bie&, &bin&, &bing&, &bo&, &bu&, &ca&,
&cai&, &can&, &cang&, &cao&, &ce&, &ceng&, &cha&, &chai&, &chan&,
&chang&, &chao&, &che&, &chen&, &cheng&, &chi&, &chong&, &chou&,
&chu&, &chuai&, &chuan&, &chuang&, &chui&, &chun&, &chuo&, &ci&,
&cong&, &cou&, &cu&, &cuan&, &cui&, &cun&, &cuo&, &da&, &dai&,
&dan&, &dang&, &dao&, &de&, &deng&, &di&, &dian&, &diao&, &die&,
&ding&, &diu&, &dong&, &dou&, &du&, &duan&, &dui&, &dun&, &duo&,
&e&, &en&, &er&, &fa&, &fan&, &fang&, &fei&, &fen&, &feng&, &fo&,
&fou&, &fu&, &ga&, &gai&, &gan&, &gang&, &gao&, &ge&, &gei&, &gen&,
&geng&, &gong&, &gou&, &gu&, &gua&, &guai&, &guan&, &guang&, &gui&,
&gun&, &guo&, &ha&, &hai&, &han&, &hang&, &hao&, &he&, &hei&,
&hen&, &heng&, &hong&, &hou&, &hu&, &hua&, &huai&, &huan&, &huang&,
&hui&, &hun&, &huo&, &ji&, &jia&, &jian&, &jiang&, &jiao&, &jie&,
&jin&, &jing&, &jiong&, &jiu&, &ju&, &juan&, &jue&, &jun&, &ka&,
&kai&, &kan&, &kang&, &kao&, &ke&, &ken&, &keng&, &kong&, &kou&,
&ku&, &kua&, &kuai&, &kuan&, &kuang&, &kui&, &kun&, &kuo&, &la&,
&lai&, &lan&, &lang&, &lao&, &le&, &lei&, &leng&, &li&, &lia&,
&lian&, &liang&, &liao&, &lie&, &lin&, &ling&, &liu&, &long&,
&lou&, &lu&, &lv&, &luan&, &lue&, &lun&, &luo&, &ma&, &mai&, &man&,
&mang&, &mao&, &me&, &mei&, &men&, &meng&, &mi&, &mian&, &miao&,
&mie&, &min&, &ming&, &miu&, &mo&, &mou&, &mu&, &na&, &nai&, &nan&,
&nang&, &nao&, &ne&, &nei&, &nen&, &neng&, &ni&, &nian&, &niang&,
&niao&, &nie&, &nin&, &ning&, &niu&, &nong&, &nu&, &nv&, &nuan&,
&nue&, &nuo&, &o&, &ou&, &pa&, &pai&, &pan&, &pang&, &pao&, &pei&,
&pen&, &peng&, &pi&, &pian&, &piao&, &pie&, &pin&, &ping&, &po&,
&pu&, &qi&, &qia&, &qian&, &qiang&, &qiao&, &qie&, &qin&, &qing&,
&qiong&, &qiu&, &qu&, &quan&, &que&, &qun&, &ran&, &rang&, &rao&,
&re&, &ren&, &reng&, &ri&, &rong&, &rou&, &ru&, &ruan&, &rui&,
&run&, &ruo&, &sa&, &sai&, &san&, &sang&, &sao&, &se&, &sen&,
&seng&, &sha&, &shai&, &shan&, &shang&, &shao&, &she&, &shen&,
&sheng&, &shi&, &shou&, &shu&, &shua&, &shuai&, &shuan&, &shuang&,
&shui&, &shun&, &shuo&, &si&, &song&, &sou&, &su&, &suan&, &sui&,
&sun&, &suo&, &ta&, &tai&, &tan&, &tang&, &tao&, &te&, &teng&,
&ti&, &tian&, &tiao&, &tie&, &ting&, &tong&, &tou&, &tu&, &tuan&,
&tui&, &tun&, &tuo&, &wa&, &wai&, &wan&, &wang&, &wei&, &wen&,
&weng&, &wo&, &wu&, &xi&, &xia&, &xian&, &xiang&, &xiao&, &xie&,
&xin&, &xing&, &xiong&, &xiu&, &xu&, &xuan&, &xue&, &xun&, &ya&,
&yan&, &yang&, &yao&, &ye&, &yi&, &yin&, &ying&, &yo&, &yong&,
&you&, &yu&, &yuan&, &yue&, &yun&, &za&, &zai&, &zan&, &zang&,
&zao&, &ze&, &zei&, &zen&, &zeng&, &zha&, &zhai&, &zhan&, &zhang&,
&zhao&, &zhe&, &zhen&, &zheng&, &zhi&, &zhong&, &zhou&, &zhu&,
&zhua&, &zhuai&, &zhuan&, &zhuang&, &zhui&, &zhun&, &zhuo&, &zi&,
&zong&, &zou&, &zu&, &zuan&, &zui&, &zun&, &zuo& };
private StringB
private static ChineseSpelling chineseSpelling = new ChineseSpelling();
public static ChineseSpelling getInstance() {
return chineseS
public String getResource() {
public void setResource(String resource) {
this.resource =
private int getChsAscii(String chs) {
int asc = 0;
byte[] bytes = chs.getBytes(&gb2312&);
if (bytes == null || bytes.length & 2 || bytes.length &= 0) { // 错误
throw new RuntimeException(&illegal resource string&);
// System.out.println(&error&);
if (bytes.length == 1) { // 英文字符
asc = bytes[0];
if (bytes.length == 2) { // 中文字符
int hightByte = 256 + bytes[0];
int lowByte = 256 + bytes[1];
asc = (256 * hightByte + lowByte) - 256 * 256;
} catch (Exception e) {
System.out
.println(&ERROR:ChineseSpelling.class-getChsAscii(String chs)&
// e.printStackTrace();
public String convert(String str) {
String result =
int ascii = getChsAscii(str);
// System.out.println(ascii);
if (ascii & 0 && ascii & 160) {
result = String.valueOf((char) ascii);
for (int i = (pyvalue.length - 1); i &= 0; i--) {
if (pyvalue[i] &= ascii) {
result = pystr[i];
public String getSelling(String chs) {
String key,
buffer = new StringBuilder();
for (int i = 0; i & chs.length(); i++) {
key = chs.substring(i, i + 1);
if (key.getBytes().length &= 2) {
value = (String) convert(key);
if (value == null) {
value = &unknown&;
buffer.append(value);
return buffer.toString();
public String getSpelling() {
return this.getSelling(this.getResource());
不过我也发现了一问题,关于一个中文字符的字节数的问题,不同的编码可能会存在中文的字节数不同的情况,比如GBK编码的中文是2,而UTF-8的编码是3。其实我发现这个问题也挺惊奇的,这个问题可能是我们以后编码的时候会遇到的,一个编码就可能把你搞死。
英文字母和中文汉字在不同字符集编码下的字节数
英文字母:
字节数 : 1;编码:GB2312
字节数 : 1;编码:GBK
字节数 : 1;编码:GB18030
字节数 : 1;编码:ISO-8859-1
字节数 : 1;编码:UTF-8
字节数 : 4;编码:UTF-16
字节数 : 2;编码:UTF-16BE
字节数 : 2;编码:UTF-16LE
中文汉字:
字节数 : 2;编码:GB2312
字节数 : 2;编码:GBK
字节数 : 2;编码:GB18030
字节数 : 1;编码:ISO-8859-1
字节数 : 3;编码:UTF-8
字节数 : 4;编码:UTF-16
字节数 : 2;编码:UTF-16BE
字节数 : 2;编码:UTF-16LE
* 按号码-拼音搜索联系人
* @param str
public static ArrayList&Contact& search(String str,
ArrayList&Contact& allContacts, ArrayList&Contact& contactList) {
contactList.clear();
// 如果搜索条件以0 1 +开头则按号码搜索
if (str.startsWith(&0&) || str.startsWith(&1&) || str.startsWith(&+&)) {
for (Contact contact : allContacts) {
if (contact.getNumber() != null && contact.getName() != null) {
if (contact.getNumber().contains(str)
|| contact.getName().contains(str)) {
contact.setGroup(str);
contactList.add(contact);
return contactL
ChineseSpelling finder = ChineseSpelling.getInstance();
String result = &&;
for (Contact contact : allContacts) {
// 先将输入的字符串转换为拼音
finder.setResource(str);
result = finder.getSpelling();
if (contains(contact, result)) {
contactList.add(contact);
} else if (contact.getNumber().contains(str)) {
contact.setGroup(str);
contactList.add(contact);
return contactL
* 根据拼音搜索
* @param str
正则表达式
* @param pyName
* @param isIncludsive
搜索条件是否大于6个字符
public static boolean contains(Contact contact, String search) {
if (TextUtils.isEmpty(contact.getName())) {
boolean flag =
// 简拼匹配,如果输入在字符串长度大于6就不按首字母匹配了
if (search.length() & 6) {
String firstLetters = FirstLetterUtil.getFirstLetter(contact
.getName());
// 不区分大小写
Pattern firstLetterMatcher = pile(search,
Pattern.CASE_INSENSITIVE);
flag = firstLetterMatcher.matcher(firstLetters).find();
if (!flag) { // 如果简拼已经找到了,就不使用全拼了
// 全拼匹配
ChineseSpelling finder = ChineseSpelling.getInstance();
finder.setResource(contact.getName());
// 不区分大小写
Pattern pattern2 = Pattern
.compile(search, Pattern.CASE_INSENSITIVE);
Matcher matcher2 = pattern2.matcher(finder.getSpelling());
flag = matcher2.find();
我发现自己换了这种方法之后,速度一下子提升了很多,满足了自己的需求,用第三方类库虽好,但涉及到用户体验这一块,你不得不低头,小巫总结在此,这篇博客我相信总会有人需要的,如果有帮助到你,不要忘记好评哈,你的支持将是我无限的动力。
感谢关注 Ithao123Android频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊后使用快捷导航没有帐号?
只需一步,快速开始
查看: 2182|回复: 1
在线时间40 小时经验值125 最后登录注册时间帖子阅读权限40UID1959378
高中生, 积分 125, 距离下一级还需 75 积分
该用户从未签到
G币17 最后登录注册时间
马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。
已有帐号?   下载游戏和软件,请【】进入机锋市场!
使用豌豆荚管理通信录,但点击很多联系人时显示“此联系人属于只读用户 无法编辑”,不知道是什么意思。谁可以帮忙解决一下?
在线时间432 小时经验值428 最后登录注册时间帖子阅读权限60UID5007016
大学本科, 积分 428, 距离下一级还需 272 积分
该用户从未签到
G币330 最后登录注册时间
这是个BG,2.2的版本吧,如果没什么大的问题,最好别乱刷,再刷回就难了
Powered by摩托罗拉me525怎么把一个电话号设定一个铃声 我手机的联系人里 编辑联系人 只有姓名和姓氏还有手机号_百度知道
摩托罗拉me525怎么把一个电话号设定一个铃声 我手机的联系人里 编辑联系人 只有姓名和姓氏还有手机号
就没有别的选项了 高手指点一下 谢谢
提问者采纳
你的联系人是放在手机卡里面的吧?那里不能加入其他信息的~~要把联系人转存到手机内,才能加入更多信息
提问者评价
来自团队:
其他类似问题
为您推荐:
摩托罗拉me525的相关知识
其他1条回答
在内存卡里点你要的歌,设为铃声就可以。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 6102|回复: 6
怎么才能让归属地显示在通话记录里和联系人里?
阅读权限50
在线时间 小时
TA的每日心情开心 14:11签到天数: 18 天连续签到: 1 天[LV.4]偶尔看看III
当前用户组为 名震江湖当前积分为 6650, 升到下一级还需要 5350 点。
按论坛的教程修改后,只有来去电显示归属地,怎么才能怎么才能让归属地显示在通话记录里和联系人里?
该贴已经同步到
阅读权限40
在线时间 小时
TA的每日心情奋斗 13:49签到天数: 107 天连续签到: 1 天[LV.6]常住居民II
当前用户组为 一方豪杰当前积分为 3320, 升到下一级还需要 2680 点。
来自移动版
我有个帖子里有。
阅读权限40
在线时间 小时
TA的每日心情擦汗 17:21签到天数: 10 天连续签到: 1 天[LV.3]偶尔看看II
当前用户组为 一方豪杰当前积分为 3859, 升到下一级还需要 2141 点。
换别的联系人软件.
阅读权限20
在线时间 小时
TA的每日心情开心 21:41签到天数: 3 天连续签到: 1 天[LV.2]偶尔看看I
当前用户组为 小有名气当前积分为 463, 升到下一级还需要 137 点。
来自移动版
我用的AOKP通讯录里面有归属地,又自己安装了归属地软件,通话记录里面也显示了!
阅读权限50
在线时间 小时
TA的每日心情开心 14:11签到天数: 18 天连续签到: 1 天[LV.4]偶尔看看III
当前用户组为 名震江湖当前积分为 6650, 升到下一级还需要 5350 点。
losingstars 发表于
我有个帖子里有。
这个???
阅读权限40
在线时间 小时
TA的每日心情奋斗 13:49签到天数: 107 天连续签到: 1 天[LV.6]常住居民II
当前用户组为 一方豪杰当前积分为 3320, 升到下一级还需要 2680 点。
ywh0728 发表于
分享下CM10联系人归属地和智能拨号。不光是来去电归属地哦。来自机锋。这个???
阅读权限50
在线时间 小时
TA的每日心情开心 14:11签到天数: 18 天连续签到: 1 天[LV.4]偶尔看看III
当前用户组为 名震江湖当前积分为 6650, 升到下一级还需要 5350 点。
losingstars 发表于
没教程,实在不知道怎么弄!
&我们旨在提供一个良好的手机玩家技术交流、资源分享社区,如果有涉及版权的资源,请联系管理员并提供相应的版权证明,我们会进行相应处理。
Powered by Discuz! X3.2
Comsenz Inc.

我要回帖

更多关于 me525联系人丢失 的文章

 

随机推荐