任何人都可以指導我爲下面的問題找到解決方案。如何識別android中的本地手機聯繫人和SYNC手機聯繫人?
- 我必須識別手機聯繫人是否保存在本地或電子郵件?(編程)
我已閱讀來自google doc是ContactsContract.Groups,其中包含有關原始聯繫人羣組,如信息Gmail聯絡人羣組。目前的API不支持跨多個帳戶的組的概念。
基於此我已經嘗試了下面的代碼。
StringBuffer output = new StringBuffer();
final String[] GROUP_PROJECTION = new String[] {
ContactsContract.Groups._ID,
ContactsContract.Groups.TITLE,
ContactsContract.Groups.SUMMARY_WITH_PHONES
};
Cursor c = getContentResolver().query(
ContactsContract.Groups.CONTENT_URI, GROUP_PROJECTION, null,
null, ContactsContract.Groups.TITLE);
int IDX_ID = c.getColumnIndex(ContactsContract.Groups._ID);
int IDX_TITLE = c.getColumnIndex(ContactsContract.Groups.TITLE);
output.append("title"+IDX_TITLE+"\n");
Map<String,GroupInfo> m = new HashMap<String, GroupInfo>();
while (c.moveToNext()) {
output.append("test...\n");
GroupInfo g = new GroupInfo();
g.id = c.getString(IDX_ID);
g.title = c.getString(IDX_TITLE);
output.append("title"+c.getString(IDX_TITLE)+"\n");
int users = c.getInt(c.getColumnIndex(ContactsContract.Groups.SUMMARY_WITH_PHONES));
if (users>0) {
// group with duplicate name?
GroupInfo g2 = m.get(g.title);
if (g2==null) {
m.put(g.title, g);
output.append("title"+g.title+"\n");
groups.add(g);
} else {
g2.id+=","+g.id;
}
}
}
outputText.setText(output);
c.close();
但沒有希望。
謝謝您的回答,但它總是給所有聯繫人的所有聯繫人「com.android.exchange」 – Amith 2014-10-31 10:09:35
對不起帳戶名相同 – Amith 2014-11-03 05:17:55