3

これが問題です:

アクティビティが開始されます - そして onResume() では、リストビューに入力するバックグラウンド スレッドでいくつかの作業を行います。これは、次の画像のように進行状況ダイアログが表示されている間に行われます。

バックグラウンドで Web サービスが呼び出されている間のダイアログの読み込み

その作業が完了し、進行状況ダイアログに .dismiss(); と指示されます。

ダイアログが消えます - 私のリストビューは見ることができますが、アクティビティはフォーカスを失います - そして背景に薄暗くなります。これにより、次の例のように、ホームを押して、再度開く前に強制的に閉じる必要があります。

進行状況ダイアログで却下を呼び出した後、アプリがロックする

この問題は、アプリケーションを初めて実行するたびに発生します。アプリのロックが常に成功した後に実行され、問題が再び明らかになることはありません! 写真でわかるように、すべてが暗くなりましたが、強制的に閉じた後、ビューを再度開くと、期待どおりに応答し、すべてが正常に機能します。logcat には問題の診断に役立つものは何もなく、すべてのコードが正しく機能しているように見えます。

助けてください!

リプレイ リスト アクティビティ セクションのコード ダンプは次の場所にあります: http://pastebin.com/YG59VFPu - 理解するのはおそらく難しいでしょう - しかし、最初の実行ではドロップボックス ログインが行われ、動作します - 次に findAllReplays( )-これも機能します-最終的にreturnres runnableになり、ダイアログが閉じられます-これも機能します-問題が発生したようです...

4

2 に答える 2

3

わかりましたので、最終的には次のことを行いました。

私は AsyncTask を作成しました - 実行前に同じ方法でダイアログを作成しました. doinbackground の最後に onPostExecute が実行されないためダイアログを閉じました. それが私が使用しているものであり、本質的に私の問題を解決しました。

于 2012-07-01T12:13:14.383 に答える
0

画面をオンにしておくために、アクティビティにフラグを設定できます

 this.getWindow().
        addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

現在のアクティビティがフォアグラウンドになるまで画面をオンに保ちます。または、バックグラウンドで何かを行っていて、バックグラウンド作業の前、最中、または後に画面をオンにしたい場合は、ウェイク ロックを使用できます。

Power Manager は画面をオンに保ちます。適切な権限について言及することを忘れないでください

あなたは私の答えの前にあなたの問題を解決しますが、画面をオンにしておくという概念を明確にするのに役立つことを願っています.

于 2012-07-06T13:36:23.777 に答える