gfx*_*onk 20 authentication android
我编写了一个SyncAdapter,它接受"com.google"帐户并与appengine Web服务进行同步.使用开发工具同步测试器(在模拟器上)对此进行测试,此同步似乎正常工作.
问题是,它默认不同步.在"帐户和同步"中转到帐户会显示我的Google帐户为空白 - 就好像没有可用的同步服务一样.
我怀疑为了让我的同步显示在"帐户和同步"菜单中,我需要实现我自己的AccountAuthenticator,这与我认为谷歌的AccountAuthenticator必须已经做的完全相同.这不是一项令人兴奋的工作,而且似乎非常不必要.所以:
如果不,
gfx*_*onk 23
因此,事实证明您可以使用"com.google"帐户的syncAdapter,但这需要您编写匹配的ContentProvider.例如,在AndroidManifest.xml中:
<service android:name=".sync.SyncAdapterService" android:exported="true" android:process=":contacts">
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter" android:resource="@xml/syncadapter" />
</service>
Run Code Online (Sandbox Code Playgroud)
并在syncadapter.xml中:
<?xml version="1.0" encoding="utf-8"?>
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="net.gfxmonk.android.pagefeed"
android:accountType="com.google"
android:supportsUploading="false"
android:userVisible="true"
/>
Run Code Online (Sandbox Code Playgroud)
然后,您必须拥有一个具有权限"net.gfxmonk.android.pagefeed"的ContentProvider,以便android将该同步操作与您的应用程序相关联.一旦你有这个(它甚至不需要做任何有意义的事情,只是存在),你的程序可以出现在"帐户和同步"设置面板内 - 在你选择的谷歌帐户中.
作为额外的工作,您可能需要致电:
ContentResolver.setIsSyncable(account, "net.gfxmonk.android.pagefeed", 1)
Run Code Online (Sandbox Code Playgroud)
将帐户作为要用于同步凭据的帐户对象.
归档时间: |
|
查看次数: |
7124 次 |
最近记录: |