首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止ContentProvider请求

停止ContentProvider请求
EN

Stack Overflow用户
提问于 2012-05-09 03:08:11
回答 2查看 925关注 0票数 0

我有一个长期运行的内容提供商,基本上它是在云中做一些搜索&返回一个带有结果的光标。我的问题是,这取决于服务器的连接和负载。结果可能需要5-7秒才能返回。

似乎如果我使用内容提供商进行预测搜索,它会阻止额外的查询(来自相同的活动),直到前一个返回。

对如何取消提供者查询有什么建议吗?

我尝试过使用asyncTask & Thread,但没有效果。似乎我仍然在提供商(解析器)上被阻止。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-09 06:01:08

也许您应该只使用内容提供程序来访问本地SQLite DB,并在服务中执行较长的操作。

看看这个视频:Google I/O 2010 - Android REST client applications。它是关于构建一个REST客户端应用程序,但是您可以在后台使用类似的架构。

票数 1
EN

Stack Overflow用户

发布于 2012-09-12 21:16:35

看起来像是在JellyBean中,有一个新的选项来取消()内容提供商查询。

实际上,我最终采纳了您的建议,并重写了内容提供程序,使光标指向sqlitedb,并使用意图服务来更新db。效果非常好..

我确实遇到了一个问题,如果提供者被杀死,客户端似乎没有得到通知,并且可以继续发送服务意图而没有响应。有几种方法可以处理这一点(在提供者中,我可以将其更改为使用原始uri进行广播事件,即光标断开连接,但这有点慢)。

我最后只是回答了我自己的问题,这可能会帮助一些人,如果一个提供者在你连接的时候被杀了……

Content Provider w/ Cursor - Gets Killed (how to notify client)

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

https://stackoverflow.com/questions/10504873

复制
相关文章

相似问题

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