简体   繁体   English

您如何从电话号码中检索ID?

[英]How do you retrieve an ID from a phone number?

I am trying to retrieve Phone Number hence using 我正在尝试检索电话号码,因此使用

String addrWhere = Contacts.Phones.NUMBER + " = " + userNumber;
  String id = "";
  Cursor c = mContext.getContentResolver().query(
    Contacts.Phones.CONTENT_URI,
    new String[] { Contacts.Phones._ID }, addrWhere, null, null);
  try {
   if (c.getCount() > 0) {
    c.moveToFirst();
    id = c.getString(0);
    Log.i("IDS", id);
   }
  } finally {
   c.close();
  }
  return id;

Can anyone let me know my mistake in this? 有人可以让我知道我的错误吗?

Try the solution to How to query ContactsContract.CommonDataKinds.Phone on Android? 尝试在Android上如何查询ContactsContract.CommonDataKinds.Phone的解决方案 which is usage of ContactsContract.PhoneLookup provider: 这是ContactsContract.PhoneLookup提供程序的用法:

Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME,...

HI Every one... thanks for reply!!! 嗨,每个人...感谢您的答复! @ Sotapanna well i found the answer as pointed by Sotapanna @ Sotapanna好,我找到了Sotapanna指出的答案

pasting the working code for anyone who needs it! 为任何需要的人粘贴工作代码!

private String findID(String userNumber) {
        Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri
                .encode(userNumber));
        int id = 0;
        String[] returnVals = new String[] { PhoneLookup._ID };
        Cursor pCur = mContext.getContentResolver().query(uri, returnVals,
                PhoneLookup.NUMBER + " = \"" + userNumber + "\"", null, null);
        if (pCur.getCount() > 0) {
            pCur.moveToFirst();
            id = pCur.getColumnCount();
            if (id >= 0) {
                id = pCur.getInt(0);
            }
        }

        Log.i("Contacts", "" + id);
        return String.valueOf(id);
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM