私の活動では、2 つのバックグラウンド サービスを実行する必要があります。
主なバックグラウンド サービス:
class loadingTask extends AsyncTask<Void, Void,Void> {
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
pd = ProgressDialog.show(context, "", "Chargement en cours..", true, false);
super.onPreExecute();
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
pd.dismiss();
}
...
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
getxml = Util.CallWebService("");
return null;
}
}
2 番目のバックグラウンド サービス。
class mloadingTask extends AsyncTask<String, Void, String> {
protected String doInBackground(String... urls) {
SAXHelper sh = null;
try {
sh = new SAXHelper(urls[0]);
} catch (MalformedURLException e) {
e.printStackTrace();
}
sh.parseContent("");
return "";
}
protected void onPostExecute(String s) {
pd.dismiss();
}
}
私のonCreate()
方法では、最初のバックグラウンドを呼び出したいと思います。ロードが完了すると、2 番目のバックグラウンド サービスが開始されます。私のバックグラウンド サービスの一部は次のとおりです。
AsyncTask<Void, Void,Void> loadTask = new loadingTask().execute();
if(loadTask.getStatus()==AsyncTask.Status.FINISHED){
new mloadingTask().execute(getxml);
System.out.println("getxml: "+getxml);
}
ただし、2 番目のバックグラウンド サービスは開始されないようです。私もプリントを取得していません。ステップを逃したか、Android が同じアクティビティで複数のバックグラウンド サービスを許可していないと思います。助けてください。