我在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