0
我只想知道我應該如何處理我的問題。 我想製作一個應用程序,從互聯網上下載一些數據並保存到文件中。在下載應用程序期間應該收到包含一些重要數據的SMS消息。 我有從AlarmManager運行的服務,我有可以接收短信的BroadcastReceiver。我想知道如何從SMS接收器(BroadcastReceiver)發送數據到服務?廣播接收器和服務之間的通信
我只想知道我應該如何處理我的問題。 我想製作一個應用程序,從互聯網上下載一些數據並保存到文件中。在下載應用程序期間應該收到包含一些重要數據的SMS消息。 我有從AlarmManager運行的服務,我有可以接收短信的BroadcastReceiver。我想知道如何從SMS接收器(BroadcastReceiver)發送數據到服務?廣播接收器和服務之間的通信
您向問題添加了一個IntentService標記,因此我假設您正在使用intent服務來執行請求。
我會在你的地方做的是使用一個常規的服務,並承載一個本地(沒有在清單中聲明)廣播接收器。
然後,您可以在服務本身託管的其他線程中執行下載。通過這種方式,您可以從廣播接收器訪問服務類,並且如果將下載器線程/ asynctask設置爲內部類,則可以讓它們進行通信。
這會改變你的服務行爲。您必須讓它停止Self(),而intentservice是自包含的,並在完成作業時自動終止。