クエリで取得しようとした番号から連絡先名を取得したいのですが、結果が得られません..番号自体が返されます.....その番号は連絡先に既に保存されています。
私が試したコードは...
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String x = getContactNameFromNumber("+918281306132");
System.out.println(x);
}
private String getContactNameFromNumber(String number) {
// define the columns I want the query to return
System.out.println("Entering into getContactNameFromNumber");
String[] projection = new String[] {
Contacts.Phones.DISPLAY_NAME,
Contacts.Phones.NUMBER };
// encode the phone number and build the filter URI
Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(number));
// query time
Cursor c = getContentResolver().query(contactUri, projection, null,
null, null);
// if the query returns 1 or more results
// return the first result
if (c.moveToFirst()) {
String name = c.getString(c
.getColumnIndex(Contacts.Phones.DISPLAY_NAME));
return name;
}
// return the original number if no match was found
return number;
}
}
また、電話状態の読み取り許可も追加しました。誰か連絡先の名前を取得するのを手伝ってください。