我在我的应用程序中有一个活动,它需要几个屏幕捕获并移动到下一个按钮单击活动。我想在截图时向用户展示一些进度或状态(需要5-8秒)。我尝试使用AsyncTask
和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();
}
}
如果你实现了asynctask,它应该显示进度对话框,并在完成后移动到下一个活动。 – Raghunandan
是的。但它不是那样做的。在调用takeScreenShots()方法后出现进度对话框。 –
你在NExt屏幕上做什么? – Sameer