1

プログラムで電子メールを読むことはできましたが、問題がないわけではありませんでした。「アプリが応答していません」というメッセージ ダイアログ ボックスが表示されます。クリックして待つと、アプリは正常に動作します。これを乗り越えることができなかったので、どうすればこの問題を解決できますか。メールを読むときに毎回このダイアログに応答する必要があります。送信はうまくいきます。私はあなたの助けに感謝します。

4

2 に答える 2

0

私はあなたがAsyncTask電子メールを読むために使用していないと思います。UIスレッドでの重い作業は、ANRメッセージを引き起こします。

を使用AsyncTaskして読み取りを実行する必要があります。最初にProgressDialogatonPreExecute()を表示して、作業を行っていることをユーザーに知らせ、でメールを読み、結果を取得した後にで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 に答える