【问题标题】:Send data from BroadCastReceiver to running Service (Android)将数据从 BroadCastReceiver 发送到正在运行的服务 (Android)
【发布时间】:2012-05-25 14:31:42
【问题描述】:

如何将一些数据从 BroadCastReceiver 发送到正在运行的服务? 我尝试使用 peekService 但似乎该方法返回 null 直到服务被某人绑定。无论如何,如果我绑定服务,我不需要窥视服务,也无法从 BroadCastReceiver 绑定服务(我不需要任何 Activity)

我的情况是: my_broadcastreceiver -> 启动服务 my_broadcastreceiver -> 停止服务 my_broadcastreceiver -> 通知服务(如果服务已经在运行,否则什么都没有)

我该怎么做? 显然,我可以使用意图过滤器在服务中编写 BroadCastReceiver,但我认为这不是更好的方法。我只想在 BroadCastReceiver 进入 onReceive 方法时发送一些信息。我希望有一些可能...

问候

【问题讨论】:

    标签: android service broadcastreceiver


    【解决方案1】:

    将数据打包到Intent 并使用startService() 将其发送到服务。见putExtra()

    【讨论】:

    • 另外,如果服务没有运行,我不会启动它!
    • 我也对此感兴趣。如果有人有解决方案,请分享。
    • @user1417608, "如果此服务尚未运行,它将被实例化并启动(如果需要为它创建一个进程);如果它正在运行,则它保持运行。"来自 Android 手册。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 2012-12-30
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多