アプリにいくつかのスクリーン キャプチャを取り、ボタン クリックで次のアクティビティに移動するアクティビティがあります。スクリーンショットを撮っている間、進行状況やステータスをユーザーに表示したい(5〜8秒かかります)。で使っAsyncTask
てみrunOnUithread()
ます。しかし、運がありません。コード全体をdoInBackground()
. これを行うためのより良い方法は何ですか? これが私のコードです:
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();
}
}