1

達成したいことを説明しましょう。 SignUpアクティビティ、ログインアクティビティ、メインアクティビティがあります。サインアップ活動がログイン活動の親であることは、ソフトキーを押すと戻ることができることを意味します。そして、私は、申し込みからの主な活動に行く一度私がログイン・アクティビティーのユーザーからのすべての生きているアクティビティインスタンスにアクティビティに親アクティビティが生存しているかどうかを確認する必要があります

  • をクリア申し込み活動ユーザからの活動
  • をサインアップして行くことができるいずれかのスキップサインアップして、メインでゲストモードに行くことができます主な活動のユーザーから
  • マニフェスト内の親の活動であることは活動

を登録に行くことができる活動をログインに戻って活動または行く私が主な活動でゲストモードにサインアップから行けば、今の私の関心事である[ノートそのログインアクティビティのインスタンスがクリアされます]そして、cl ick back register /サインアップ活動。私はそれが親アクティビティ、すなわちログインアクティビティか主アクティビティかを知りたいです。

public boolean isRunning(Context ctx) { 
    ActivityManager activityManager = 
(ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE); 

List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE); 

     for (RunningTaskInfo task : tasks) { 
      if (ctx.getPackageName().equalsIgnoreCase(task.baseActivity.getPackageName())) 
       return true;         
     } 

     return false; 
    } 

答えて

0

あなたは実行されているかどうかを確認することができます

Intent intent = new Intent(CallingActivity.this, ActivityToStart.class); 
intent.putExtra("startedFrom", CallingActivity.class.toString()); 
startActivity(intent); 

新しく始めた活動で適切なチェックしてください:

if(getIntent().getExtras().getString("startedFrom", null) != null) { 
//You were started from the specified Activity 
} 

startActivityForResult()でアクティビティを開始する場合は、上記の手順をスキップして使用できますgetCallingActivity()

+0

ここでは 'baseActivity'とは何ですか?新しいアクティビティを作成した親アクティビティ?ありがとう:) –

0

をあなたは単にあなたのテントに余分を置くことができます:

+0

現在、私はこれらの意図を余分に渡し、それはうまく動作しますが、唯一のことは私が新しく作成したアクティビティでチェックをしなければならないことです。親の活動を呼び出すための適切な方法があるのだろうかと思っていました。 [結果にその活動を開始していないことに注意してください]。ありがとう:) –

+0

いいえありません。アクティビティは他のアクティビティから開始されないかもしれませんが、他のコンテキストも同様に –

+0

私はあなたのポイントを取得します。ありがとう:) –

関連する問題