0

アカウントごとにすべての連絡先を取得する方法について誰か助けてもらえますか? つまり、連絡先が電話 (ユーザーによって作成されたもの) からのものか、Google やその他の同期ソースからのものかを判断する条件を設定したいと考えています。連絡先、グーグル、さらにはヤフーの連絡先?

4

1 に答える 1

1

アカウントごとにすべての連絡先を取得する方法について誰か助けてもらえますか?

次のスニペットを使用して、特定のアカウント タイプの連絡先を取得できます。

String where = RawContacts.ACCOUNT_TYPE+ "=?";
String[] args = { accountType };
Cursor contacts = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, where, args, null);

int numberIndex = contacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
int displayNameIndex = contacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
for (contacts.moveToFirst(); !contacts.isAfterLast(); contacts.moveToNext()) {
    String number = contacts.getString(numberIndex);
    String displayName = contacts.getString(displayNameIndex);
    // do something with account contacts
}
contacts.close();

通常の電話連絡先 (どのアカウントにも接続されていない) をフィルタリングするには、次を使用できます。

String where = RawContacts.ACCOUNT_TYPE+ " IS NULL";
于 2013-02-12T14:53:28.450 に答える