我正在尝试实现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的设备上的模拟器中进行测试。
3 回答
四季花海
TA贡献1811条经验 获得超5个赞
我正在使用setIsSyncableAccountManager setAuthToken方法。但是setAuthToken之前setIsSyncable达到了返回的功能。更改订单后,一切正常!
萧十郎
TA贡献1815条经验 获得超13个赞
我什么都不知道,但是设备会记住它需要同步,并且一旦打开全局同步,它就会启动。您真的不应该尝试在这一点上胜过用户-尤其是在极端情况下,“关闭全局同步”是节省电池电量的关键方法之一。如果您真的担心数据无法同步,请考虑一个弹出窗口,告诉用户为什么数据一直处于静止状态(如果已经放置了一段时间)。这样,您可以教育意外配置其设备的用户,并提醒高级用户万一他们忘记了。
- 3 回答
- 0 关注
- 637 浏览
添加回答
举报
0/150
提交
取消