私はアクティビティバックスタック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. ウェブサイトでファイルを検索するにはどうすればよいですか?
- 2. jsonでjsonを検索するにはどうすればよいですか?
- 3. mysqlでレコードを検索するにはどうすればよいですか?
- 4. eclipseでライブラリを検索するにはどうすればよいですか?
- 5. PerlでCSSを検索するにはどうすればよいですか?
- 6. LuceneでDBを検索するにはどうすればよいですか?
- 7. Stack.PHPでスタックオーバーフローを検索するにはどうすればよいですか?
- 8. UIWebViewで検索するにはどうすればよいですか?
- 9. アンドロイドアプリケーションにオーディオメッセージを追加するにはどうすればよいですか?
- 10. 検索バーで実際にサイト内のページを検索するにはどうすればよいですか?
- 11. 良いSQL検索を行うにはどうすればよいですか?
- 12. Googleスプレッドシートを検索するにはどうすればよいですか?
- 13. ajaxの検索をエミュレートするにはどうすればよいですか?
- 14. 検索クエリを変更するにはどうすればよいですか?
- 15. ウェブサイトのトピックを検索するにはどうすればよいですか?
- 16. 検索スクリプトを改善するにはどうすればよいですか?
- 17. ストアドプロシージャコールを検索するにはどうすればよいですか?
- 18. GIPHY API - Giphを検索するにはどうすればよいですか?
- 19. アイテムのArrayListを検索するにはどうすればよいですか?
- 20. Instagram API:ハッシュタグを検索するにはどうすればよいですか?
- 21. シェアポイント検索を監査するにはどうすればよいですか?
- 22. アンドロイドアプリケーションを最適化するにはどうすればよいですか?
- 23. hibernate検索でint値の検索を実装するにはどうすればよいですか?
- 24. Googleの検索結果でURLの出現を検索するにはどうすればよいですか?
- 25. haystack検索で検索結果の数を取得するにはどうすればよいですか?
- 26. 検索結果にリダイレクトするにはどうすればよいですか?
- 27. MySQLの検索で@を使用してLIKE検索を行うにはどうすればよいですか?
- 28. 複数の検索を行うにはどうすればよいですか?
- 29. Googleカスタム検索にカスタム検索ボックスを使用するにはどうすればよいですか?
- 30. Googleカスタム検索API for .NETで検索するにはどうすればよいですか?
私はアクティビティEでこれを見つけたいと思っています。このようなA、B、C、Dからナビゲートしました – azzits
それでは、Rajdeep Duaが答えを持っています。 :P –