2016-11-14 8 views
0

У меня есть контактная информация из Whatsapp: [email protected]Получить имя контакта из Whatsapp 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)); 
} 

(примечание: Phone.NORMALIZED_NUMBER было добавлено в API 16)