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

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

如何做到这一点?

Solutions Collecting From Web of "如何在清单文件中添加我的意图标志"

在清单文件中,您不能添加意图标志。您需要设置标志在您传递给startActivity的意图。 这是一个示例:

Intent intent = new Intent(this, ActivityNameToLaunch.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); 

为了回答原来的问题,因为这是谷歌search中的第一个答案,所以可以这样做,因为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> 

我有类似的问题,并想设置标志

 Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK 

为了使活动始终处于顶峰。

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

 android:launchMode="singleInstance" 

在清单中。

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

在清单的<activity>节点中使用android:launchMode="singleTop"就可以轻松实现这一点,如下所示:

 <activity android:name=".ui.activities.MainActivity" android:launchMode="singleTop"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

请注意,由于@jörg-eisfeld给出的android:launchMode="singleInstance"不推荐作为一般用途的选项,正如官方文档中所述: https : //developer.android.com/guide/topics/manifest /activity-element.html (请参阅android:launchMode部分)