0

我正在尝试制作将记录我的来电和去电的应用程序,问题是我似乎无法使用此代码来返回呼叫者 ID(如姓名和姓氏),但它总是返回“未知”

public String getname(String num,String nbc ){
String namer="";
 ContentResolver cr = getContentResolver();
 Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
        null, null, null, null);



 try {
  if (cur.getCount() > 0) {
     while (cur.moveToNext()) {
           String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
           String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            Log.i("",name);

           if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                System.out.println("name : " + name + ", ID : " + id);

               // get the phone number

               Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
                                      ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
                                      new String[]{id}, null);
               while (pCur.moveToNext()) {

                     String phone = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                     System.out.println("phone" + phone);
                     if(phone==nbc||phone==num)
                    {
                         namer = name;
                         return namer;
                    }                        

               }
               pCur.close();
           }

     }       
 }
 }
 catch (Exception e) {
    // TODO: handle exception
}

     return namer;

}

它不执行 this( if(phone==nbc||phone==num)) 部分。

您能否告诉我有什么问题或其他方法可以做到这一点,或者至少指出我正确的方向。

4

1 回答 1

0

用来equals比较Strings

if(phone.equals(nbc)||phone.equals(num))
于 2012-05-13T08:42:25.090 回答