我有一个 AsyncTask 并且在后台我想启动服务以从 url 获取文本。
我需要从服务中了解它何时完成工作并从中获取一些文本并继续使用 AsyncTask。但我不知道如何从 Service 获取参数到 AsyncTask 并知道它是否完成。
我在 AsyncTask 上的代码是:
protected String doInBackground(String... params) {
//starts service number activite
Intent serviceIntent = new Intent();
serviceIntent.setAction("services.conServise");
context.startService(serviceIntent);
return null;
}
服务代码:
public void onStart(Intent intent, int startId) {
// Create some random data
try{
URL url = new URL("http://hostname:80/index.html");
// Read all the text returned by the server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
str is one line of text; readLine() strips the newline character(s)
}
activitNum = Integer.parseInt(str);
in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
statusCon=-1;
}finally{stopSelf();}
super.onStart(intent, startId);
}
感谢您的帮助!