2

こんにちは、アプリの連絡先のプロフィール写真を取得しようとしています。出来ますか?ユーザーのすべてのプロフィール写真をどこに保存しますか? ありがとう!

4

2 に答える 2

8

What's App は、プロフィール写真にアクセスするための API を提供していません。

于 2013-05-31T17:28:19.347 に答える
2

これに対する WhatsApp API がないのは事実ですが、確かに可能です。

AndroidContactsContractクラスを介して連絡先の画像を検索できます。

Android データベースには 2 種類の連絡先がありRawContactますContact。後者は、前者 (個々のアカウントを表す) の集合 (人を表す) です。

最初に写真がデバイスにキャッシュされていることを確認することをお勧めします (テスト中に誤ったフラグを避けるため-WhatsApp で連絡先の完全な画像を開くと、それがキャッシュされていることを確認できます) 次に、プログラムで取得します (API 14 から):

ContentResolver cr = getContentResolver();

Cursor contactCursor = cr.query(
        ContactsContract.RawContacts.CONTENT_URI,
        new String[] { ContactsContract.RawContacts._ID, ContactsContract.RawContacts.CONTACT_ID } ,
        ContactsContract.RawContacts.ACCOUNT_TYPE + "= ?",
        new String[] { "com.whatsapp" }, null);
if (contactCursor  != null && contactCursor .moveToFirst()) {
    String whatsappContactId = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.RawContacts.CONTACT_ID));
    Uri photoId = ContentUris.withAppendedId(RawContacts.CONTENT_URI, whatsappContactId);
    Uri photoUri = Uri.withAppendedPath(photoId, RawContacts.DisplayPhoto.CONTENT_DIRECTORY);
}
于 2017-03-17T12:23:57.383 に答える