我已經創建了一個意圖下載服務,並且我想要將下載數據傳遞給Toast並在主要活動中傳入文本。下載服務應該從報警管理器重複啓動。我該怎麼做呢?如何從意向下載服務訪問變量?
目前,它不顯示在吐司,但我有網絡流量;數據已下載但未顯示。
相關代碼:
public class DownloadService extends IntentService {
public String response;
public DownloadService() {
super("DownloadService");
}
// Will be called asynchronously be Android
@Override
protected void onHandleIntent(Intent intent) {
//String urldown = intent.getStringExtra("url");
String urldown="http://......";
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(urldown);
try {
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
String s = "";
while ((s = buffer.readLine()) != null) {
response += s;
}
} catch (IOException e) {
e.printStackTrace();
}
Intent intentsend=new Intent("update");
intentsend.putExtra("downdata",response);
sendBroadcast(intentsend);
}
爲什麼使用吐司?當您需要顯示服務的某種反饋時,通常會使用通知。 –
我如何做到這一點?以及如何將下載數據作爲文本傳遞給main.xml? – user1977741
如果您需要服務和活動之間的雙向溝通 - 您可以將服務綁定到活動。檢查[this](http://stackoverflow.com/questions/4300291/example-communication-between-activity-and-service-using-messaging)問題。 –