我想做一个我可以注册的服务。该服务将广播不同“类型”的消息,每个应用程序都可以注册以接收不同类型的消息。
例如,:
我想写一个服务器,读取一些用户的twitter消息,并向系统广播标记。然后,消费者可以注册到只接收标签"foo“的消息,并接收该tweet消息。另一个用户可以注册只接收标签"bar“的消息,并接收该tweet消息。
让我们假设我知道如何构建服务。我的第一个想法就是广播一个东西,然后在应用程序中过滤它。但我对这个解决办法并不满意。我知道有些android服务的工作方式与我想要的类似,但我在网上没有发现关于如何实现这一点的参考。
我所做的一些RTFM是:
)交谈。
主要的问题是,互联网上的大多数文档都是关于我呼叫服务的,而不是呼叫我的服务。
发布于 2012-03-12 14:59:52
假设你谈论Service.sendBroadcast(Intent):你可以播放任何你想要的东西,但它在某一时刻变得不可行。您甚至可以为每个Twitter标记定义一个新的Action,但这将非常复杂。您可以在这里使用意图的数据部分,接收代码可以像这样过滤广播:
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);你就这样送他们:
Intent intent = new Intent("com.your.package.ACTION_TWITTER_MSG");
intent.setData(Uri.parse("twitter://com.your.package/foo"));
context.sendBroadcast(intent);https://stackoverflow.com/questions/9669108
复制相似问题