2012-05-13 4 views
0

Я пытаюсь создать приложение, которое будет регистрировать мои входящие и исходящие вызовы, и проблема в том, что я не могу заставить работать этот код для возврата идентификатора вызывающего абонента (как имя и фамилия), но он всегда возвращается "Неизвестный"Получить идентификатор вызывающего абонента

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)) часть.

Не могли бы вы рассказать мне, что не так или иначе, как это сделать или по крайней мере указать мне в правильном направлении.

ответ

0

Использование equals для сравнения Strings

if(phone.equals(nbc)||phone.equals(num)) 
Смежные вопросы