【问题标题】:How to call function in main activity from service?如何从服务中调用主要活动中的功能?
【发布时间】:2011-09-26 19:47:25
【问题描述】:

我使用 startService() 从我的主要活动中启动服务。该服务检查本地主机上的套接字。当它接收到一个套接字时,它会从中读取数据。我想在收到带有特定数据的套接字时隐藏通知栏。我已经编写了一个函数 hideNotificationBar(),它位于我的主要活动中。问题是我不知道如何在服务的主要活动中调用此函数。 感谢您的帮助!

【问题讨论】:

    标签: android function service android-activity call


    【解决方案1】:

    从服务发送广播。注册您的 Activity 以接收此广播并对其采取行动。

    这种方法解决了存储/获取对 Activity 的引用的问题,该引用可能在您的 Service 的生命周期内变为非活动状态。

    缺点是您只能通过广播 Intent 发送简单类型、Bundle 或实现 Parcelable 的类。

    【讨论】:

    • 谢谢。设法实现它,它就像我想要的那样工作。
    【解决方案2】:

    我建议您查看 API Demos 应用程序中的 MessengerServiceMessengerServiceActivities
    基本上,想法是在您的活动和服务中都有Handler 类来处理两者之间的通信。在activity中使用ServiceConnection与服务建立连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 2016-06-15
      相关资源
      最近更新 更多