我在IntentService中執行一些操作(上傳圖片到webservice)。 請參閱下面的代碼。如何在android中執行後臺進程?
在這個活動中,我打電話給這樣的服務。 我在捕獲圖像後,即在onActivityResult中調用下面的方法。當我在onActivityResult中調用此方法時,該應用程序正在被吊死。我能夠在IntentService中執行任務。但是這種行爲正在被絞死。
private void callService(){
Intent intent = new Intent(this, TestIntentService.class);
intent.putExtra("imageData", imageData);
startService(intent);
}
這是我的IntentService類。 我可以在callImageUploadAPI()內執行webservice調用嗎。 我在這裏做錯了什麼?
public class TestIntentService extends IntentService {
public TestIntentService() {
super("com.screens.testapp");
// TODO Auto-generated constructor stub
}
//imageData passed from the activity
@Override
protected void onHandleIntent(Intent intent) {
// TODO Auto-generated method stub
if(intent != null){
Bundle extras = intent.getExtras();
imageData= extras.getString("imageData");
}
callImageUploadAPI(imageData);
}
private void callImageUploadAPI(final String imageData) {
// TODO Auto-generated method stub
try {
if (Log.checkNetworkStatus(TestIntentService.this)) {
} else {
}
} catch (Exception e) {
// TODO: handle exception
}
}
}
感謝
您正在使用INTENTSERVICE來啓動您的服務來訪問Web服務,它會自動作爲後臺進程運行。或者,如果您想要在新線程中使用AsyncTask服務,請在doInBackground中進行Web服務callig (參數)和結果將在onPostExecute(結果)....快樂編碼。 – Joyal