我有一个活动A
,它在收到自定义广播时开始。此活动不是启动器活动。
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context,A.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtras(intent.getExtras());
context.startActivity(i);
}
接收意图值(Intent有一些值)并完全填写一些任务。整个过程工作正常。
问题是,当我打开最近的应用程序列表(长按主页按钮)时,此活动出现(不是启动器活动),当我点击它时,活动以意图值!!开始。所以我无法检查这个活动是从广播接收器还是从其他接收器开始的。
我该如何解决这个问题?此活动应仅在广播接收时开始。
清单
android:name".A"
android:screenOrientation="portrait"
android:launchMode="singleInstance"
android:noHistory="true"
android:taskAffinity=""
答案 0 :(得分:4)
你有没有尝试过:
机器人:名称 “.A”
机器人:excludeFromRecents = “真”
这会阻止您的活动显示在最近的列表中。
答案 1 :(得分:0)
请参阅this
当您的活动是新任务的根目录时,它不会出现在最近的列表中。如果它不是根,请尝试添加taskAffinity
属性。