0
着信番号を取得するために以下のコードを使用しています。次のステップで電話番号を使用して連絡先名を取得していません
String number = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
、私は方法getContactName(mContext,number)
使っcontatc名を取得しようとしました:(私の着信が私の連絡先の一つであり、その数とnumber
文字列がある
public static String getContactName(Context context, String phoneNumber) {
ContentResolver cr = context.getContentResolver();
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
Cursor cursor = cr.query(uri, new String[]{ContactsContract.PhoneLookup.DISPLAY_NAME}, null, null, null);
if (cursor == null) {
return null;
}
String contactName = null;
if(cursor.moveToFirst()) {
contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME));
}
if(cursor != null && !cursor.isClosed()) {
cursor.close();
}
return contactName;
}
のが、この方法では、常にnull
を返しますこのコードがうまくいかない理由はわかりません。ご提供いただけるご支援に感謝します。
ありがとうございました@chengsam。私は以前にそれを追加しました。この権限を追加しないと、セキュリティ例外のためにアプリがクラッシュします。 –
この[質問](http://stackoverflow.com/questions/36700475/getting-null-value-while-retrieving-the-contact-name-from-contact-email)を参照してください。 – chengsam