【问题标题】:Prevent activity run from recent app list in android防止从android中最近的应用程序列表中运行活动
【发布时间】:2014-02-08 06:23:27
【问题描述】:

我有一个活动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);
}

A 接收 Intent 值(Intent 有一些值)并完全填充一些任务。整个过程运行良好。

问题是,当我打开最近的应用程序列表(长按主页按钮)时,会出现此活动(不是启动器活动),当我单击它时,活动以意图值开始!!。所以我不能检查这个活动是从广播接收器还是从其他开始的。

我该如何解决这个问题?此活动应仅在收到广播时启动。

编辑

清单

android:name".A"
android:screenOrientation="portrait"
android:launchMode="singleInstance"
android:noHistory="true"
android:taskAffinity=""

【问题讨论】:

    标签: android android-activity broadcastreceiver


    【解决方案1】:

    你试过了吗:

    android:name".A"

    android:excludeFromRecents="true"

    这将阻止您的活动显示在最近列表中。

    【讨论】:

      【解决方案2】:

      this

      当您的活动是新任务的根时,它不会出现在最近列表中。如果不是 root ,请尝试添加 taskAffinity 属性。

      【讨论】:

      • 感谢您的快速回答。它不起作用。我已经添加了有问题的清单。我还添加了 taskAffinity="MainActivity" 但没有运气
      • 你添加android:excludeFromRecents了吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多