正确的方式来启动和接口服务和状态栏/通知

时间:2012-05-17 16:25:41

标签: android service notifications

我有一个工作正常的广播接收器,但现在我想发送通知到状态栏。由于BroadcastReceiver无法直接执行,看起来我需要创建一个服务来为我做正确的事情吗?

所以我使用http://developer.android.com/reference/android/app/Service.html

提供的示例创建了一项服务

除了一些小的调整之外,它就是那个代码。我从广播接收器开始服务  context.startService(new Intent(context,AlertUser.class));

它发生了什么,它确实在状态栏中输出了msg。然后,当我做了一个清除并生成一个新的msg服务代码没有执行。一旦开始,我是否与他的服务互动?从我读到的内容来看,如果是同一个过程的一部分。

另外,我如何将来自BroadcastReceiver的字符串信息共享到服务中,以便在通知中显示信息?

谢谢,

1 个答案:

答案 0 :(得分:0)

  

由于BroadcastReceiver不能直接执行,看起来我需要创建一个服务来为我做正确的事吗?

BroadcastReceiver可以显示Notification

  

一旦开始,我是否会以不同的方式与他进行互动?

不是真的。如果您通过startService()向服务发送命令,则onStartCommand()会收到这些命令。

  

我如何将来自BroadcastReceiver的字符串信息共享到服务中,以便将信息显示在通知中?

Intent传递给startService(),将其传递给Intent,并将其从onStartCommand()中的{{1}}中检出。