問題タブ [android-lifecycle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - アプリがバックグラウンドになったときに Android がスクリーンショットを撮らないようにするにはどうすればよいですか?
私が現在構築しているアプリには、セキュリティ上の理由から、アプリがバックグラウンドにプッシュされているときに、OS がアプリのスクリーンショットを撮らないようにする必要があるという要件があります。これにより、アプリを切り替えるときに、最後にアクティブだった画面を見ることができなくなります。
この機能をアプリケーション クラスの onPause メソッドに組み込む予定ですが、まず、この機能を実現する方法を見つける必要があります。
それで、これを修正する方法の手がかりを持っている人はいますか?
android - BACK を押してアプリに戻った後、インターフェースがリロードされない
現在、それぞれがフラグメントに関連付けられた一連のタブがあり、最終的にタブの 1 つで UI がどのように見えるかを確認しました。これは、アプリが適切にロードされたときのスクリーンショットです (最初の起動とタブへのスクロールの後)。私はそのUIパラダイムが好きではありません)、アプリスイッチャーを使用するか、ランチャーから再起動すると、質問行がなくなります(再読み込みしません)。ディスプレイを保存するには、onPause に何かを実装する必要がありますか? onResume がこれを処理しないのはなぜですか?
android - savedInstanceState バンドルが実際に使用されるのはいつですか?
アクティビティでsavedInstanceStateバンドルがいつ使用されるかの完全なリストを知っている人はいますか?
デバイスの向きが変わるときに使用されることは知っています。ただし、ユーザーが Android の設定から強制的にアプリを閉じた場合は使用されないようですが、これは私のコードの何かが原因である可能性があります。
他にどんなケースがあるの?
明確にするために、「使用済み」とonCreate()
は、呼び出されたときに、savedInstanceState バンドルが null ではなく、最後onSaveInstanceState()
に呼び出されたときに渡したデータを含むことを意味します。
android - アクティビティのライフサイクルにおけるEclipse /ビルドバージョンの奇妙な違い
TabActivityを 拡張し、 Activity1とActivity2で表される 2 つのタブを保持するMainActivityがあります。
1.Eclipse MainActivity->onCreate()からエミュレーターまたはデバイスでこのアプリを実行すると、ユーザーはDialogを介して場所を選択できます。ユーザーが場所を選択すると、タブのアクティビティが作成され、 currentTab も設定されてActivity1が前面に表示され、 MainActivity が一時停止されます。
2.HOMEボタンを押すか、Backを数回押すたびに。MainActivityとActivity1およびActivity2がPAUSEDになっていることがわかります。
3.後者の後に Application/MyApp に移動すると、 Application の状態が維持され、実行されていたアクティビティがRESUMEDになることによって前面に戻されていることがわかります。
この部分は本当にうまく機能します
ただし、MyApp をリリース バージョンとしてエクスポートすると、.
1 と 2 に従ってから Applications/MyApp に移動しようとすると、常に場所を選択するためのダイアログが表示されます。これは、 MainActivityが作成されていることを意味します。これは、HOME に移動したときに破棄されたことを意味します。
- なぜこれはビルド バージョンで発生するのに、Eclipse から実行している間は発生しないのですか?
私にとってさらに奇妙なのは、ダイアログ画面で [戻る] ボタンを押すと、前回の MyApp の起動からActivity1 または 2が取得されることです。これは、Activity1 または 2 ( HOMEを押しながら前にあったアクティビティ) が破棄されなかったことを意味します。
- MainActivity ( TabHostのベース) は、破棄されていないActivity1 または 2を保持している間に破棄できますか?
私はそれをうまく説明したと思います
更新 27.03.2012
今は面白いです:) apkをビルドしてからサーバーにアップロードします。次に、Galaxy 2.2 でブラウザーに URL を入力し、apk をダウンロードします。ダウンロードが完了したら、インストールします。インストールが完了したら、[開く]と[完了] の 2 つのオプションがあります。[開く]を押すと、前述の問題を再現できます..しかし、 [完了] を選択し、後でアプリケーション メニューからアクセスすると、問題なく動作します。この選択により、後でアプリがどのように動作するかが決まりますか? なぜ?どうやって?戸惑う
android - アプリケーションのバックスタックをバンドルに保存するにはどうすればよいですか?
アプリケーションの状態を保存して、閉じた状態から再度開いたときに最後のフラグメントが表示され、バックスタックが保持されるようにしたいと思います。向きを変えたり、システムがアプリを強制終了してリソースを解放したりするときだけでなく、アプリケーションを閉じるたびにこの状態を保持したいと思います(onSaveInstanceState()
/を使用する場合のように) onRestoreInstanceState()
。
これまでのところ、状態をSharedPreferencesに保存し、後で復元することで、以前のフラグメントとその状態を計画どおりに復元することができました。ただし、これはフラグメントのバックスタックを保持しないため、ユーザーがアプリケーションをロードし、戻るボタンを押してアプリケーションフローの「上」に移動すると、アプリは上に移動せずに終了します。
この時点で必要なのは、システムの場合と同じように、アプリケーションのバックスタックにアクセスし、必要に応じてバンドルに保存できるようにすることですonSaveInstanceState()
。のドキュメントを読みましたFragmentManager.saveFragmentInstanceState()
が、これを使用して目標を達成する方法がわかりません。誰かが私を正しい方向に向けることができますか?
Android互換ライブラリのフラグメント実装を使用しています。
java - ゲームが正しく終了しない
これまでのところ、2つのアクティビティで構成されるアプリがあります。
メインメニューアクティビティ。
ゲームアクティビティ
メインメニューアクティビティには、次のコードでゲームアクティビティを開始するボタンが含まれています。
ユーザーがゲームアクティビティを終了したら、戻るボタンを押します。これにより、最初にonPause()メソッドが呼び出され、ゲームのアニメーションスレッドが一時停止します。次に、アクティビティでfinish()を呼び出すonStop()を呼び出します。ユーザーはメインメニューアクティビティに戻ります。コードの概要は次のとおりです。
問題は、Eclipseからアプリケーションを起動した場合にのみこれが機能することです。アプリのアイコンをクリックすると、ゲームはゲームアクティビティから始まります。メインメニューアクティビティは表示されません。
なぜこれが起こるのかはっきりしていません。マニフェストと関係があるかもしれません。以下の関連部分を貼り付けました。
私はこれでどんな助けにも本当に感謝します。ありがとう。
android - Android:いつonStart()、onStop()を使用するのですか?
と の違いを説明するいくつかの投稿を読みましたonStart()
:onResume()
アクティビティonStart()
が表示onResume()
されると呼び出され、アクティビティがユーザーからの操作の準備ができたときに呼び出されます。大丈夫。
私は常にonPause()
andにコードを追加しただけで、 andonResume()
を気にしたことはありません。onStart()
onStop()
onStart()
、vs .で何をするかの具体的な例を誰か教えてくださいonResume()
。と についても同じことが言えますがonStop()
、onPause()
はどのようにonStop()
役立ちますか? ここで何か基本的なことが欠けているに違いありません。
android - アクティビティライフサイクルX電源ボタンXロック画面
電源キーを押すと、画面がオフになり(完全に暗くなり)、システムがアクティビティを破棄してから、次のように再作成します。
これは、私のアクティビティの向き(横向き)が固定されており、ロック画面が縦向きであることが原因です。
固定の縦向きを設定してこの理論をテストしましたが、問題は発生しません。getResources()。getConfiguration()の値も確認しました。
どうすればそれを回避できますか?ロック画面でアクティビティが破壊されたくない!
android - onCreateViewが再度実行されても、BACKを押した後にViewが正しく再アセンブルされませんか?
私のアプリはほぼ完成しています。以下のコードの2番目のスニペットでは、一時的なwhileループが表示されます。このループの目的は、questionContainerに10行のテーブル行を追加することです(まもなく、これをSQLデータベースから同様の要素を取得するAsyncTaskに置き換えます)。Log.vをwhileループに入れて、いつ実行されるかを確認します。最初の起動時に、whileループとonCreateビューが正常に実行されることがわかりました。しかし、押し戻してからアプリスイッチャーを介してアプリを再度開いた後、onCreateViewが再実行されている間、whileloopは明らかに実行されません。誰かが何か洞察を提供できますか?
そして、アプリを終了するために押し戻した後、再入力されていないフラグメント、次にタスクスイッチャーが戻ってきます:
これがサンプルのLogcatで、次のプロセスがあります。アプリを起動し、[Econ以外]タブまでスクロールし、[戻る]を押してアプリを再度開き、[Econ]タブまでスクロールします(10個のテーブル行は再構築されません。
android - Android アプリケーションのライフサイクルの混乱
アクティビティを不明な回数再利用するアプリケーションがあります。走る
a> b1||c1 > b2|| c2 > ...
a > b1 > b2 > b1 に移動すると、アプリには引き続き b1 リストが画面に表示されますが、それをクリックすると、対応する b2 アクティビティに移動します。bのデータを保持するために使用するarrayListは、bの正しいインスタンス用に復元する必要があります。
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycleを読んでいます が、同じアクティビティを再度使用しているため、onPause と onResume が機能するとは思いません。