我的应用程序中有一个活动,它需要几个屏幕捕获并通过单击按钮移动到下一个活动。我想在截屏时向用户显示一些进度或状态(需要 5-8 秒)。我尝试使用AsyncTask
with runOnUithread()
。但没有运气。即使我在 中编写了整个代码doInBackground()
,我也不知道为什么在截取所有屏幕截图后会启动 ProgressDialog。这样做的更好方法是什么?这是我的代码:
public class TakeScreenShots extends AsyncTask<Void, Void, Void> {
private ProgressDialog dialog;
@Override
protected void onPreExecute() {
this.dialog = ProgressDialog.show(MyActivity.this, "MyTitle",
"Loading .....", true);
}
@Override
protected Void doInBackground(Void... params) {
MyActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
takeScreenshots();
}
});
return null;
}
@Override
protected void onPostExecute(Void unused) {
gotoNextActivity();
this.dialog.dismiss();
}
}