プログラムで電子メールを読むことはできましたが、問題がないわけではありませんでした。「アプリが応答していません」というメッセージ ダイアログ ボックスが表示されます。クリックして待つと、アプリは正常に動作します。これを乗り越えることができなかったので、どうすればこの問題を解決できますか。メールを読むときに毎回このダイアログに応答する必要があります。送信はうまくいきます。私はあなたの助けに感謝します。
2 に答える
0
私はあなたがAsyncTask
電子メールを読むために使用していないと思います。UIスレッドでの重い作業は、ANRメッセージを引き起こします。
を使用AsyncTask
して読み取りを実行する必要があります。最初にProgressDialog
atonPreExecute()
を表示して、作業を行っていることをユーザーに知らせ、でメールを読み、結果を取得した後にでdoInBackground()
アクションを実行します。doInBackground()
ここにも隠したいですProgressDialog
。
スレッドに関する公式ガイドもご覧ください。
于 2013-01-21T04:05:05.473 に答える
0
おそらくメインUIスレッドでメールをダウンロードしています。必ず別のスレッドを使用するかAsyncTask
、ダウンロードを実行して、ダウンロードが完了したらメインUIを更新する必要があります。
AsyncTask
メインUIスレッドからネットワーク操作を実行するための使用についてはこちらをお読みください:http: //developer.android.com/training/basics/network-ops/connecting.html
于 2013-01-21T04:05:38.440 に答える