我有一个正在倾听电话的服务。当手机进入空闲状态时,我想向我的活动发送消息。看起来我有两个选择来实现这一点。 BroadcastReceiver和绑定到服务。 BroadcastReceiver看起来像一个更简单的机制,所以我尝试了下面的测试。什么是从本地服务发送消息到活动的最简单方法
在我的活动:
@Override
protected void onStart() {
super.onStart();
IntentFilter filter = new IntentFilter("MyAction");
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "Yay.......");
abortBroadcast();
}
}, filter);
}
在我的服务,这是监听事件,当我发现我想要的事件:
Intent localIntent = new Intent(_context, MainActivity.class);
intent.setAction("MyAction");
_context.sendOrderedBroadcast(localIntent, null);
在我的测试中,的onReceive()方法不会被调用在观看了与调试器一起发送的广播之后。我错过了什么?此外,BroadcastReceiver是本地服务与活动进行通信的最简单方式吗?
做您的清单有适当的<意向过滤器>? – aprock 2010-10-22 17:13:23