私はアクティビティバックスタックA→B→C→D→Eを持つアプリケーションを持っています。アクティビティEでは、私がナビゲートしたバックスタックアクティビティを知りたいと思います。これをどうやって見つけるのですか?アンドロイドアプリケーションでスタックアクティビティを検索するにはどうすればよいですか?
答えて
私はそれがうまくいくかどうかわかりません...あなたは以前の活動に戻りたいですか?その場合は、前のアクティビティに戻る現在のアクティビティを終了します。
以下のコードは、
ActivityManager m = (ActivityManager) ctx.getSystemService(ctx.ACTIVITY_SERVICE);
List<RunningTaskInfo> runningTaskInfoList = m.getRunningTasks(10);
Iterator<RunningTaskInfo> itr = runningTaskInfoList.iterator();
while(itr.hasNext()){
RunningTaskInfo runningTaskInfo = (RunningTaskInfo)itr.next();
int id = runningTaskInfo.id;
CharSequence desc= runningTaskInfo.description;
int numOfActivities = runningTaskInfo.numActivities;
String topActivity = runningTaskInfo.topActivity.getShortClassName();
}
バックスタック内の各タスク内のすべてのタスクとトップアクティビティを抽出するために使用することができ、実際に、あなたはgetRunningTasks 、その後を使用してrunningtaskinfoからタスクIDを取得することができ、タスクIDを比較してgetRecentTasksを使用してrecenttaskinfoを取得します。 これで、starttivityを使用してrecenttaskinfoのbaseintentを使用してそのアクティビティを再開できます。
あなたはgetRunningTasks(..)
として参照http://www.onsandroid.com/2015/01/find-back-stack-activities-in-android.html
スタックの中のアクティビティのリストを取得しました。どうすれば私を殺すことができますか?スタックの3番目のアクティビティを –
とすれば、コードでこれを行うことができますか? –
ためコマンド
が廃止されているか、あなたがここにあなたのアプリケーションに特別な権限を追加したくない場合は「adbのシェルdumpsys活動の活動を」使用することができますすべてのアクティビティがあなたのものであれば、別の解決方法です:シングルトンで識別子(アクティビティ自体がガベージコレクションの必要性がないことはありません)をマークすることができますStack
、LinkedList
またはLinkedHashSet
:onPause()
a ddをスタックに追加し、onResume()
で削除します。
これらのスタックの内容を確認して、作成されたアクティビティとシーケンスがあるかどうかを確認できます。
コードをクリーンアップして、すべてのアクティビティがアプリの共通の基本アクティビティから派生している場合は、手動で行うことができます。
startActivityの代わりにstartActivityForResultを使用し、起点/ソースのアクティビティを取得することをお勧めします。getCallingActivity()。getClassName()を呼び出します。
家から来たことをどうやって知っていますか? 使用getIntent()そのgetAction() - > android.intent.action.MAIN とgetCategories() - > android.intent.category.LAUNCHER
私はあなたが活動の変化を聞くことによってそれを行うことができると思います、registerActivityLifecycleCallbacksのこのAPIを介して:
https://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks.html
これは、あなた自身のクラスのスタックに追加するのに役立ち、そしてあなたが望むように、完全な状態が表示されます。
- 1. mysqlでレコードを検索するにはどうすればよいですか?
- 2. LuceneでDBを検索するにはどうすればよいですか?
- 3. jsonでjsonを検索するにはどうすればよいですか?
- 4. PerlでCSSを検索するにはどうすればよいですか?
- 5. Stack.PHPでスタックオーバーフローを検索するにはどうすればよいですか?
- 6. eclipseでライブラリを検索するにはどうすればよいですか?
- 7. UIWebViewで検索するにはどうすればよいですか?
- 8. 良いSQL検索を行うにはどうすればよいですか?
- 9. Googleスプレッドシートを検索するにはどうすればよいですか?
- 10. ストアドプロシージャコールを検索するにはどうすればよいですか?
- 11. ウェブサイトのトピックを検索するにはどうすればよいですか?
- 12. 検索スクリプトを改善するにはどうすればよいですか?
- 13. 検索クエリを変更するにはどうすればよいですか?
- 14. シェアポイント検索を監査するにはどうすればよいですか?
- 15. アンドロイドアプリケーションにオーディオメッセージを追加するにはどうすればよいですか?
- 16. hibernate検索でint値の検索を実装するにはどうすればよいですか?
- 17. haystack検索で検索結果の数を取得するにはどうすればよいですか?
- 18. 検索結果にリダイレクトするにはどうすればよいですか?
- 19. 複数の検索を行うにはどうすればよいですか?
- 20. Googleカスタム検索API for .NETで検索するにはどうすればよいですか?
- 21. 弾性検索:user_definedフィールドを検索するにはどうすればよいですか?
- 22. 検索エンジンにサイトの検索結果を表示させるにはどうすればよいですか?
- 23. Google RoRで検索するにはどうすればいいですか?
- 24. Arraylistで検索するにはどうすればいいですか
- 25. JTextFieldでJChoice(JComboBox)を検索ボックスのように設定するにはどうすればよいですか?
- 26. Railsでこのようにデータベース検索を実装するにはどうすればよいですか?
- 27. 検索結果の古いデータをページングで検出するにはどうすればよいですか?
- 28. attr_accessorを使用するように検索するにはどうすればよいですか?
- 29. iPhoneアプリでSpotlightのような検索バーを作成するにはどうすればよいですか?
- 30. どこでも検索ショートカットを無効にするにはどうすればよいですか?
私はアクティビティEでこれを見つけたいと思っています。このようなA、B、C、Dからナビゲートしました – azzits
それでは、Rajdeep Duaが答えを持っています。 :P –