簡體   English   中英

如何從服務中調用主要活動中的函數?

[英]How to call function in main activity from service?

我使用startService()從主要活動中啟動服務。 該服務檢查本地主機上的套接字。 收到套接字后,它將從中讀取數據。 我想在收到帶有特定數據的套接字時隱藏通知欄。 我已經編寫了位於主活動中的函數hideNotificationBar()。 問題是我不知道如何在服務的主要活動中調用此函數。 謝謝你的幫助!

從服務發送廣播。 注冊您的活動以接收此廣播並對其采取行動。

此方法解決了存儲/獲取對活動的引用的問題,該引用在您的服務生命周期內可能會變為非活動狀態。

缺點是只能通過廣播Intent發送簡單類型,Bundle或實現Parcelable的類。

我建議您從API演示應用程序中查看MessengerServiceMessengerServiceActivities
基本上,想法是在您的活動和服務中都包含Handler類,以Handler兩者之間的通信。 在活動中使用ServiceConnection建立與服務的連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM