2016-11-14 82 views
0

我有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?

干杯

回答

0

假设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中)

相关问题