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;

}

if(phone==nbc||phone==num)this( ) の部分は実行しません。

何が間違っているか、これを行う別の方法を教えてください。または、少なくとも正しい方向に向けてください。

4

1 に答える 1

0

equals比較に使用Strings

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