我可以在代码中覆盖android:noHistory吗?

时间:2019-03-12 10:35:09

标签: android android-manifest

我正在使用来自第三方库的活动,该活动已将android:noHistory设置为“ true”。在启动活动之前,是否可以在代码中覆盖该值?

我可以在Intent中使用“ FLAG_ACTIVITY_NO_HISTORY”标志的相反符号吗?

2 个答案:

答案 0 :(得分:2)

  

我正在使用第三方库中的一项活动,该活动已将android:noHistory设置为“ true”。

在您自己的应用清单中添加var c1 = new MyDataGridViewButtonColumn() { HeaderText = "X" }; c1.ContentClick += (obj, args) => MessageBox.Show("X Cell Clicked"); 元素,并使用<activity>属性标识活动,并使用android:name。在清单合并过程中,您应用的android:noHistory="false"值应覆盖库的android:noHistory值。

通常,覆盖库的清单条目是有点冒险的举动,因为您可能会破坏库所依赖的内容。在这种情况下,它应该是安全的。

答案 1 :(得分:-1)

如果设置,则新活动不保留在历史记录堆栈中。一旦用户离开它,活动就结束了。也可以使用noHistory属性进行设置。

如果已设置,则当当前活动开始一个新活动(设置结果并完成)时,永远不会调用onActivityResult()。

https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NO_HISTORY