首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么ContentResolver.requestSync不触发同步?

为什么ContentResolver.requestSync不触发同步?
EN

Stack Overflow用户
提问于 2011-03-10 07:56:42
回答 1查看 46.7K关注 0票数 113

我正在尝试实现Google IO -幻灯片26中讨论的内容-提供者-同步适配器模式。我的内容提供者正在工作,当我从Dev Tools sync Tester应用程序触发我的同步时,我的同步工作,但是当我从我的ContentProvider调用ContentResolver.requestSync(帐户,授权,捆绑)时,我的同步从未被触发。

代码语言:javascript
复制
ContentResolver.requestSync(
        account, 
        AUTHORITY, 
        new Bundle());

编辑--添加清单片段我的清单xml包含:

代码语言:javascript
复制
<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包含:

代码语言:javascript
复制
<?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“,传递给调用的权限与我的syc适配器xml匹配。

ContentResolver.requestSync是请求同步的正确方式吗?看起来sync tester工具直接绑定到服务并调用start sync,但这似乎违背了与sync架构集成的目的。

如果这是请求同步的正确方法,那么为什么同步测试仪可以工作,而我对ContentResolver.requestSync的调用却不行?有什么东西我需要在捆绑包中传递吗?

我在模拟器中对运行2.1和2.2的设备进行了测试。

EN

回答 1

Stack Overflow用户

发布于 2019-09-13 17:53:30

我是在AccountManager setAuthToken方法之后扩展setIsSyncable的。但在到达setIsSyncable之前,setAuthToken返回了函数。顺序改变后,一切都很正常!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5253858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档