我已經編寫了一個SyncAdapter來將我的應用程序的聯繫人列表添加到Android聯繫人提供程序。爲了做到這一點,我創建了自己的AccountAuthenticator,一個提供對Authenticator,SyncAdapter和SyncAdapter服務訪問的服務。我可以看到我的帳戶顯示在Android帳戶列表(位於主設置頁面下),我可以看到我的應用程序中的所有聯繫人都顯示在Android的聯繫人(或人)應用程序中。但是當我點擊People應用程序中的「Accounts」按鈕時,我的應用程序的帳戶不會顯示。當我編輯我以前同步到Android聯繫人提供程序的任何個人帳戶時(按照此處的建議),該聯繫人被標記爲「僅限電話,未聯繫的聯繫人」。我知道我一定做錯了什麼,但我至今無法確定我的錯誤是什麼。如何告訴Android聯繫人X屬於帳戶Y?我認爲在創建時向原始聯繫人添加賬戶名稱和賬戶類型就足夠了,但這似乎是不夠的。我錯過了什麼?如何將我的應用程序的帳戶添加到Android通訊錄應用程序的「帳戶」列表中?
1
A
回答
1
在花了近一處理這一兩天,我有一個答案:
我假設你有像您的同步服務下的AndroidManifest.xml如下:
<meta-data android:name="android.provider.CONTACTS_STRUCTURE"
android:resource="@xml/contacts"/>
然後在contacts.xml文件中引用在這裏:
<ContactsAccountType
xmlns:android="http://schemas.android.com/apk/res/android">
<EditSchema>
</EditSchema>
</ContactsAccountType>
如果EditSchema不正確,它將切換到「僅限電話」聯繫人。
對什麼是可以接受的基礎是:
<!-- XML for must-have checks. Base definition, which is valid. -->
<ContactsAccountType
xmlns:android="http://schemas.android.com/apk/res/android"
>
<EditSchema>
<DataKind kind="name"
maxOccurs="1"
supportsDisplayName="true"
supportsPrefix="true"
supportsMiddleName="true"
supportsSuffix="true"
supportsPhoneticFamilyName="true"
supportsPhoneticMiddleName="true"
supportsPhoneticGivenName="true"
>
</DataKind>
<DataKind kind="photo" maxOccurs="1" />
</EditSchema>
</ContactsAccountType>
我最終發現了很多的例子 - https://android.googlesource.com/platform/packages/apps/Contacts/+/android-sdk-support_r11/tests/res/xml
相關問題
- 1. 從Android帳戶管理器「添加帳戶」刪除我的應用程序
- 2. 如何將我的應用程序帳戶與Android本機帳戶
- 3. 登錄到應用程序中的任何用戶帳戶
- 4. 將iOS應用程序添加到設置中的Twitter帳戶?
- 5. 如何從我的iPhone應用程序登錄到Facebook帳戶?
- 6. Windows 8應用程序從Microsoft帳戶和應用程序帳戶登錄
- 7. 將Rails 3應用程序用戶帳戶連接到用戶的Twitter帳戶
- 8. 如何將Joomla帳戶移動到我的Rails應用程序?
- 9. 如何使用Twitter帳戶登錄我的iPhone應用程序?
- 10. 通過Android應用程序的用戶帳戶自動推送
- 11. 如何獲取用戶登錄到我的應用程序的機器帳戶?
- 12. Android本地通訊錄應用程序刪除每個帳戶聯繫人
- 13. 「要登錄到此應用程序,必須將帳戶添加到domain.com目錄」
- 14. 如何將Android上的Google帳戶鏈接到我的應用程序?
- 15. 如何在我的應用程序中使用帳戶註冊?
- 16. 如何讓我的自定義帳戶類型顯示在android通訊錄應用程序中?
- 17. 我應該如何處理APNS的多帳戶應用程序?
- 18. 應用程序如何跨用戶帳戶進行通信?
- 19. PhoneGap應用程序通常如何處理用戶帳戶?
- 20. 帶帳戶的新Web應用程序
- 21. 多個帳戶的Twitter應用程序
- 22. 以編程方式將帳戶添加到Android電子郵件應用程序
- 23. twitter應用程序以推特登錄用戶的帳戶
- 24. 使用Gmail帳戶登錄我的應用程序?
- 25. 如何將用戶帳戶與應用程序集成?
- 26. 如何啓動Android應用程序與GMail帳戶通話?
- 27. 如何在我的應用程序中切換Tumblr帳戶
- 28. 如何使用付費帳戶ID分配iPhone應用程序到應用程序商店帳戶ID
- 29. 如何從Web應用程序訪問用戶的Gmail帳戶?
- 30. 通過谷歌帳戶登錄到iPhone應用程序。
類似的問題在這裏貼出來,與這似乎得到一個答案我更接近:HTTP:/ /stackoverflow.com/questions/21011569/how-do-i-get-my-custom-account-type-to-show-up-in-the-android-contacts-app –
至少部分答案似乎是我使用我自己的ContentProvider的權威(例如com.example.myapp.contentprovider),在我的syncadapter.xml和我的調用ContentResolver添加帳戶,設置它syncable,et c。相反,我應該使用「com.android.contacts」。這讓我可以在聯繫人應用程序中看到我的帳戶,但我的同步聯繫人仍然被標記爲僅限電話的未聯繫人聯繫人,所以很明顯,我還沒有解決所有我的錯誤。 –