14
私は電話からwhatsappの連絡先を取得しようとしていると私はwhatsapp連絡先の総数を得るが、RawContacts
からwhatsappを取得する方法番号と私は知らない名前。私は解決策を見つけようとしましたが、そのための正確な解決策を得ることはできません。私を助けてください。Androidからwhatsapp連絡先を取得するには?
私は以下のコードを書いています。私は私の質問の解決策を発見した
ContentResolver cr = context.getContentResolver();
Cursor c = cr.query(
ContactsContract.RawContacts.CONTENT_URI,
new String[] { ContactsContract.RawContacts.CONTACT_ID, ContactsContract.RawContacts.DISPLAY_NAME_PRIMARY },
ContactsContract.RawContacts.ACCOUNT_TYPE + "= ?",
new String[] { "com.whatsapp" },
null);
ArrayList<String> myWhatsappContacts = new ArrayList<>();
String projection[] = { ContactsContract.CommonDataKinds.Phone.NUMBER };
if(c != null) {
if (c.getCount() > 0) {
while (c.moveToNext()) {
String whatsappContactId = c.getString(c.getColumnIndex(ContactsContract.RawContacts.Data._ID));
Cursor dataCursor = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
new String[]{whatsappContactId}, null);
// You can also read RawContacts.CONTACT_ID to read the
// ContactsContract.Contacts table or any of the other related ones.
String number = dataCursor.getString(dataCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NORMALIZED_NUMBER));
myWhatsappContacts.add(number);
}
}
}
showLogI(TAG, " WhatsApp contact size : " + myWhatsappContacts.size());
偉大な説明です! – activesince93
各テーブルの目的は何ですか?ここに示すように、アプリケーションが挿入したデータをどこで見つけることができますか?また、その意図を使うことができますか?http://stackoverflow.com/q/35992096/878126? –
テレグラムの連絡先や他のアプリと一緒に使えますか? – Webserveis