我想從ContactsContract API中讀取聯繫人,該聯繫人僅屬於電話/ SIM卡,並且希望避免與其他應用(如Facebook和Gmail)同步的聯繫人。我在模擬器上測試了我的代碼,它工作正常,但在真實設備上它不返回任何結果。Android聯繫人應用程序中聯繫人的默認帳戶類型/名稱是什麼?
ContentResolver cr = AndroidContext.getContext()
.getContentResolver();
Cursor nativeContacts = cr.query(RawContacts.CONTENT_URI,
new String[] { RawContacts._ID, RawContacts.VERSION, RawContacts.CONTACT_ID },
RawContacts.DELETED + "<> 1 AND " + RawContacts.CONTACT_ID
+ " IS NOT NULL AND " + RawContacts.ACCOUNT_NAME + " IS NULL AND "
+ RawContacts.ACCOUNT_TYPE + " IS NULL", null, null);
我想對設備的默認帳戶的帳戶類型和名稱不爲空,該如何解決?
所以我嘗試了一個小樣本應用程序來獲取不同設備中使用的帳戶類型和名稱。在** HTC **帳戶類型和NME是com.htc.android.pcsc和com.android.sim,而在索尼Xperia它是com.sonyerricson.contacts。因此,似乎所有設備使用不同的類型和名稱,現在的問題是我如何獲得默認帳戶?我可以做這樣的AccountManager.getAccounts()[0],並相信這將是設備上的默認帳戶。 – 2011-02-02 15:07:51
嗨拉胡爾,大家。我也想知道這個問題的答案。我只想從手機/ SIM卡本身提取聯繫人信息。 – Creniale 2011-05-04 07:15:09
`我可以做一些像這樣AccountManager.getAccounts()[0],並相信這將是設備上的默認帳戶。「#: 不,你不能。如果帳戶名稱爲空,則無法從`AccountManager.getAccounts()` – Autobots 2014-09-24 11:59:47