获取来电显示

时间:2012-05-13 08:36:50

标签: java android

我正在尝试创建将记录我的传入和传出呼叫的应用程序,问题是我似乎无法使用此代码返回来电显示(如姓名和姓氏),但它总是返回“未知”< / p>

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;

}

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

你能否告诉我这是错误的或其他方式,或者至少指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

使用equals来比较Strings

if(phone.equals(nbc)||phone.equals(num))