0

I just want to know what should I look for to manage with my problem. I want to make an application which download some data from the internet and save it to file. During downloading application should receive SMS message which should contain some important data. I have service which is run from AlarmManager and I have BroadcastReceiver which can receive sms. I want to know how to send data from SMS receiver (BroadcastReceiver) to the service?

4

1 回答 1

3

You added an IntentService tag to the question so I assume you are using an intent service to perform the request.

What I would do in your place is to use a regular service and to host a local (not declared in the manifest) broadcast receiver inside it.

You can then perform the download in a different thread hosted in the service itself. In this way you will have access to the Service class from the broadcast recevier, and if you set the downloader thread / asynctask as an inner class you can let them communicate.

This will change a bit the behaviour of your service. You have to let it stopSelf() whereas the intentservice was self contained and dies automatically when it finishes its job.

于 2013-03-29T22:07:30.190 回答