gpt4 book ai didi

android - 按(规范化)电话号码查询联系人

转载 作者:行者123 更新时间:2023-11-29 15:31:06 25 4
gpt4 key购买 nike

我真的很惊讶我在任何地方都找不到答案。所以这就是问题所在。

ContentResolver resolver = getContentResolver();

String[] columns = new String[]{Phone.CONTACT_ID, Phone.DISPLAY_NAME, Phone.NUMBER };
String where = Phone.NUMBER+"=?";
String[] params = new String[] {"777 777 7777"};
Cursor cursor = resolver.query(Phone.CONTENT_URI, columns, where, params, null);

while (cursor.moveToNext()) { /* So on....*/

当参数中的电话号码格式为“777 777 7777”时,我没有任何记录。当它是“777-777-7777”时,它会获得记录。更糟糕的是 TelephonyManager.EXTRA_INCOMING_NUMBER 给我的号码是“7777777777”。如何查询这个电话号码?文档说 Phone.NUMBER 是用户输入它的方式。好吧,那对我没有任何好处!!!

最佳答案

试试这个:

 Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,Uri.encode(phoneNumber));        
Cursor cs= context.getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME},null,null,null);

if(cs.getCount()>0)
contactName=cs.getString(cs.getColumnIndex(PhoneLookup.DISPLAY_NAME));

cs.close();

已编辑(根据您的评论)

String phoneNumber = "777 777 7777"; 
Uri uri = Uri.withAppendedPath(Phone.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
String[] columns = new String[]{Phone.CONTACT_ID, Phone.DISPLAY_NAME, Phone.NUMBER };
Cursor cursor = resolver.query(uri, columns, null, null, null);

关于android - 按(规范化)电话号码查询联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6621660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com