我正在尝试实现Google IO-幻灯片26中讨论的Content-Provider-Sync Adapter模式。我的内容提供程序正在运行,当我从Dev Tools Sync Tester应用程序触发它时,我的同步起作用,但是当我调用ContentResolver时。来自ContentProvider的requestSync(帐户,授权,捆绑),我的同步从未触发。
ContentResolver.requestSync(
account,
AUTHORITY,
new Bundle());
编辑-添加清单清单我的清单xml包含:
<service
android:name=".sync.SyncService"
android:exported="true">
<intent-filter>
<action
android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter" />
</service>
- 编辑
与我的同步服务关联的syncadapter.xml包含:
<?xml version="1.0" encoding="utf-8"?>
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="AUTHORITY"
android:accountType="myaccounttype"
android:supportsUploading="true"
/>
不知道其他什么代码会有用。传递给requestSync的帐户是“ myaccounttype”,并且传递给调用的AUTHORITY匹配我的syc适配器xml。
ContentResolver.requestSync是否是请求同步的正确方法?看起来好像同步测试器工具直接绑定到服务并调用开始同步,但这似乎违反了与同步体系结构集成的目的。
如果这是请求同步的正确方法,那么为什么同步测试器会起作用,而不是我对ContentResolver.requestSync的调用?我需要通过捆绑销售商品吗?
我正在运行2.1和2.2的设备上的模拟器中进行测试。
四季花海
萧十郎
相关分类