我有我的AsyncTask这里面代码:ProgressDialog试图用的AsyncTask运行服务时冻结
@Override
protected void onPreExecute() {
waitDialog = new ProgressDialog(context);
waitDialog.setTitle(R.string.wait_title);
waitDialog.setMessage(context.getString(R.string.wait_body));
waitDialog.setIndeterminate(true);
waitDialog.show();
}
@Override
protected Boolean doInBackground(Void... unused) {
Intent serviceIntent = new Intent(context, PublisherService.class);
saveSettings(false);
startService(serviceIntent);
return serviceIsRunning();
}
对话节目,但同时我的服务正在启动(这需要几秒钟)的progressdialog被冻结。如果我在我的doInBackground()
调用中使用简单的SystemClock.sleep()
,它可以正常工作。
有人可以告诉我为什么会发生这种情况,以及如何解决这个问题?
谢谢
你能否详细说明为什么不应该从AsyncTask启动服务?有兴趣了解为什么。 – Spinner 2012-08-17 13:13:02