2011-08-08 13 views
0

私はアドレスフィールドからの人のアドレスを取得しますが、私の連絡先に保存されている場合、私はまた、送信者の連絡先名を取得したい受信トレイSMSテーブルから送信者の連絡先名を取得しますか?

ContentResolver cr = getContentResolver(); 
    Cursor cur = cr.query(Uri.parse("content://sms"), null,null,null, null);   
    DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 

    cursor_count=cur.getCount(); 

    if(cur.moveToFirst()) 
    {   
     do { 

      sender.add(cur.getString(2)); 

      msg.add(cur.getString(11)); 
      date.add(formatter.format(Long.parseLong(cur.getString(4)))); 
     } while (cur.moveToNext()); 

からSMSを取得するには、以下を使用しています。
personフィールドは常にnullを返します。なぜですか?

答えて

6

は、このコード

String contact=address; 
          Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(address)); 
          Cursor cs= context.getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME},PhoneLookup.NUMBER+"='"+address+"'",null,null); 

          if(cs.getCount()>0) 
          { 
          cs.moveToFirst(); 
          contact=cs.getString(cs.getColumnIndex(PhoneLookup.DISPLAY_NAME)); 
          } 
+0

PhoneLookupをインポートすることができないを試してみてください? – Harinder

+0

actully私は1.6を使用していますが、2.0以上の場合はすぐに – Harinder

+1

アドレスは何ですか? – SpicyWeenie

関連する問題