0

NFC タグをスキャンするときに onNewIntent を使用しています。タグのスキャン中に ProgressDialog を表示したい。スレッドを使用しようとしましたが、アプリがクラッシュしました。onNewIntent の開始時に progressDialog を表示する方法はありますか?

public void onNewIntent(Intent intent) {
        setIntent(intent);
        Thread scanning = new Thread(new Runnable() {
            public void run() {
                ScanDialog = ProgressDialog.show(BorrowActivity.this,
                        "Scanning...", "scanning");
            }
        });
        scanning.start();
              .
              . //next code doing something
              .
}
4

2 に答える 2

0

最後に、asyncTask で修正しました。

public void onNewIntent(Intent intent) {
    setIntent(intent);
        ScanDialog = ProgressDialog.show(BorrowActivity.this,
                "Scanning...", "Scanning");

        try {
        new DoBackgroundTask().execute();
        } catch (Exception e) {
             //error catch here
        }
        ScanDialog.dismiss();

そしてAsyncTask:

private class DoBackgroundTask extends AsyncTask<Integer, String, Integer> {

    protected Integer doInBackground(Integer... status) {
     //do something
    }
    protected void onProgressUpdate(String... message) {
    }
    protected void onPostExecute(Integer status) {
    }
}
于 2014-04-25T22:17:39.350 に答える