获取联系人姓名addess
问题描述:
我有WhatsApp的这个联系方式:[email protected]获取联系人姓名addess
从这个代码
void startWhatsAppContactPicker() {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setPackage("com.whatsapp");
try {
startActivityForResult(intent, REQUEST_CODE_PICK_WHATSAPP);
} catch (Exception e) {
Toast.makeText(this, "Kein Whatsapp installiert", Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case REQUEST_CODE_PICK_WHATSAPP:
if (resultCode == RESULT_OK) {
if (data.hasExtra("contact")) {
String address = data.getStringExtra("contact");
Log.d(TAG, "The selected Whatsapp address is: " + address);
}
}
break;
default:
break;
}
}
Outputt获得:[email protected]
此信息是否存储在Android联系人中?
我需要联系人才能获取所有者的姓名。
我已经tryied这一点,但没有成功:
How to get whatsapp Contacts from Android?
干杯
答
假设49176646xxxx
段是一个电话号码,你可以搜索电话号码的电话联系人:
String address = data.getStringExtra("contact");
String phone = address.split("@")[0];
String[] projection = new String[] {Phone.DISPLAY_NAME, Phone.NUMBER, Phone.NORMALIZED_NUMBER };
String selection = Phone.NORMALIZED_NUMBER + " = " + phone;
Cursor c = cr.query(Phone.CONTENT_URI, projection, selection, null, null);
if (c != null && c.moveToFirst()) {
Log.d(TAG, "name is: " + c.getString(0));
}
(note:Phone.NORMALIZED_NUMBER
已添加到API 16中)