2010-12-05 20 views
0

連絡先の表示名をsms uriから取得しようとしています。その人が連絡先リストに登録されている場合は、その人の連絡先IDを取得する必要があります。しかし、毎回私はNullを返答として受け取っています。これは、その人が私の連絡先リストにないことを意味します。しかし実際にはその人は私の連絡先リストにあり、メッセージに表示されています。では、sms uriから人の表示名を取得する方法はありますか?btw、私は2.2エミュレータを使用しています。連絡先の表示名をsms uriで取得する方法は?

答えて

3
Uri personUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, smsMsg.getOriginatingAddress()); 

cur = appContext.getContentResolver().query(personUri, new String[] { PhoneLookup.DISPLAY_NAME }, null, null, null); 

if(cur.moveToFirst()) { 
      int nameIndex = cur.getColumnIndex(PhoneLookup.DISPLAY_NAME); 

      PersonName = cur.getString(nameIndex); 
} 
cur.close(); 
+0

これは素晴らしい機能ですが、4.0.3デバイスでは機能しません。あなたも同様の問題に直面したら私に教えてください:http://stackoverflow.com/questions/12065606/getcontentresolver-query-cause-cursorwrapperinner-warning – thecr0w

+0

ありがとう。 :)それは働いています。 2.2、2.3、4.0.3でテストしました。 :) – pandabear

関連する問題