我有自定义活动,由接收者从后台调用。
点击按钮后我想关闭活动,因此如果用户按住菜单按钮并且显示活动应用列表,则无法再次打开。
我该怎么办?我尝试使用finish()方法和kill进程,但没有运气..我可以再次显示应用程序列表中的活动。
感谢您的帮助。
编辑:
我刚刚添加了
<activity android:noHistory="true"
但在完成活动后我能够重新参加活动(见下图)。
活动是从带有以下标志的接收器开始的(可能问题在这里?)
intentOne.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
答案 0 :(得分:1)
只需将android:noHistory="true"
添加到活动清单。
http://developer.android.com/guide/topics/manifest/activity-element.html#nohist
机器人:noHistory 当用户离开活动时,是否应该从活动堆栈中移除活动并完成活动(调用其finish()方法)并且它不再在屏幕上显示 - &#34; true&#34;如果它应该完成,并且&#34; false&#34;如果不。默认值为&#34; false&#34;。 值&#34; true&#34;意味着活动不会留下历史痕迹。它不会保留在任务的活动堆栈中,因此用户将无法返回该任务。
此属性是在API Level 3中引入的。
答案 1 :(得分:1)
尝试在AndroidManifest中添加android:launchMode="singleInstance" android:excludeFromRecents="true" android:noHistory="true"