从FLAG_ACTIVITY_CLEAR_TOP意图标记

时间:2016-03-15 01:15:10

标签: android android-intent android-toast

我有一个root活动(调用root),当用户点击root中的一个视图时,用户将被带到一个孩子。

有时,(通常基于条件),用户将使用以下代码直接从子到root:

    Intent intent = new Intent(this, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);

如何从root(Mainactivity)中找出root是否已从child启动。

用例:当用户显示MainActivity时,我想显示Toast,只有当他来自具有FLAG_ACTIVITY_CLEAR_TOP标志的孩子时才会显示。

所以我希望能够做到以下几点:

MainActivityroot

  if (came_from_child_with_intent_flag()){
       showToast()
  }

1 个答案:

答案 0 :(得分:1)

您可以像这样添加额外内容:

Intent intent = new Intent(this, MainActivity.class);
Bundle b = new Bundle();
b.putInt("isFromChild", true); //Your id
intent.putExtras(b); //Put your id to your next Intent
startActivity(intent);

在你的onCreate of Root中得到额外的东西:

Bundle b = getIntent().getExtras();
Boolean value = b.getBoolean("isFromChild");

如果它不是来自孩子那么vaule将等于null 如果剂量有附加物,则束将为空。