如何在清单文件中添加我的意图标记

Ank*_*kit 14 flags android android-manifest android-intent

我们知道有些标志可以使用java代码中的addFlags()方法添加到我们的意图中.有没有什么办法可以在清单文件中添加这些标志,而不是在java代码中编写它.我需要为清单中的一个活动添加REORDER_TO_FRONT标志.

怎么做到这一点?

Vin*_*kla 10

在清单文件中,您无法添加Intent标志.您需要在Intent中设置您传递给startActivity的标志.这是一个示例:

Intent intent = new Intent(this, ActivityNameToLaunch.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

  • 嗨Richie,是的,我知道这件事,但问题是我没有明确地从另一个活动发起这个活动.在我的情况下,要启动的活动是主/启动器,它打算在用户通过点击后退按钮关闭其他活动时启动,最后进入此屏幕(这也是启动屏幕) (9认同)

Jör*_*eld 6

我遇到了类似的问题并想设置标志

Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK
Run Code Online (Sandbox Code Playgroud)

为了使活动始终处于首位。

在这种情况下,解决方案是设置属性

android:launchMode="singleInstance"
Run Code Online (Sandbox Code Playgroud)

在清单中。

一般来说,Android 清单中有很多 Activity 的属性,您可以使用这些属性来获得与标志类似的效果。


JDL*_*JDL 5

要回答原始问题,由于这是google搜索中的第一个答案,因此可以这样做,因为API级别3(于2009年推出)已添加android:noHistory="true"到清单文件中的活动定义,如下所述:http:// developer.android.com/guide/topics/manifest/activity-element.html#nohist

例:

<activity
   android:name=".MainActivity"
   android:label="@string/app_name"
   android:noHistory="true">
  <intent-filter>
      <action android:name="android.intent.action.MAIN"/>
      <category android:name="android.intent.cataegory.LAUNCHER"/>
  </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)