首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >广播不同消息类型的服务

广播不同消息类型的服务
EN

Stack Overflow用户
提问于 2012-03-12 14:37:42
回答 1查看 492关注 0票数 0

我想做一个我可以注册的服务。该服务将广播不同“类型”的消息,每个应用程序都可以注册以接收不同类型的消息。

例如,

我想写一个服务器,读取一些用户的twitter消息,并向系统广播标记。然后,消费者可以注册到只接收标签"foo“的消息,并接收该tweet消息。另一个用户可以注册只接收标签"bar“的消息,并接收该tweet消息。

让我们假设我知道如何构建服务。我的第一个想法就是广播一个东西,然后在应用程序中过滤它。但我对这个解决办法并不满意。我知道有些android服务的工作方式与我想要的类似,但我在网上没有发现关于如何实现这一点的参考。

我所做的一些RTFM是:

)交谈。

主要的问题是,互联网上的大多数文档都是关于我呼叫服务的,而不是呼叫我的服务。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-12 14:59:52

假设你谈论Service.sendBroadcast(Intent):你可以播放任何你想要的东西,但它在某一时刻变得不可行。您甚至可以为每个Twitter标记定义一个新的Action,但这将非常复杂。您可以在这里使用意图的数据部分,接收代码可以像这样过滤广播:

代码语言:javascript
复制
    IntentFilter ifilter = new IntentFilter("com.your.package.ACTION_TWITTER_MSG");
    ifilter.addDataScheme("twitter");
    ifilter.addDataAuthority("com.your.package", null);
    ifilter.addDataPath("/foo", PatternMatcher.PATTERN_PREFIX);

你就这样送他们:

代码语言:javascript
复制
    Intent intent = new Intent("com.your.package.ACTION_TWITTER_MSG");
    intent.setData(Uri.parse("twitter://com.your.package/foo"));
    context.sendBroadcast(intent);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9669108

复制
相关文章

相似问题

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