【问题标题】:Application should not display in recent app list after finish the activity if app was not displaying recent app list previously如果应用程序之前没有显示最近的应用程序列表,则应用程序在完成活动后不应显示在最近的应用程序列表中
【发布时间】:2015-10-20 00:40:15
【问题描述】:

第 1 步 - 最近的应用列表中不存在应用(应用已从最近的应用列表中删除)。
第 2 步 - 当我收到通知打开 IncomingCall 活动时,用户接受呼叫。
第 3 步 - 用户单击断开连接按钮完成 IncomingCall 活动。

问题 - 应用程序显示在最近的应用程序列表中,即使应用程序以前不在最近的应用程序列表中。

清单条目

<activity
android:name=".activities.IncomingCall"
android:excludeFromRecents="true"
android:launchMode="singleTop"
android:screenOrientation="portrait" >
</activity>

在活动中使用

public void onClick(View v) {
switch (v.getId()) {
case R.id.onCallDisconnectButton:
phoneCallBaseClass.disconnect();
IncomingCall.this.finish();
break;
  }
}

我也试过下面的链接,但是当应用程序已经存在于后台时它会起作用

Remove app from recent apps programmatically

或 有没有其他方法可以显示来电视图,这样它就不会保留在历史记录中。

您可以以任何 VoIP 通话应用为例-

在来电后从最近的应用列表中删除应用,用户断开呼叫活动(IncomingCallActivity)不会存在于最近的应用列表中。 但在我的情况下,断开呼叫后,最近的应用列表中的活动仍然存在。

谢谢

【问题讨论】:

  • 尝试使用android:launchMode="singleInstance"
  • 我已经尝试过仍然显示在最近的应用列表中
  • 这是您从通知中打开的活动
  • 是提到的有问题的来电活动

标签: android android-activity twilio


【解决方案1】:

添加

android:excludeFromRecents="true" 

到 AndroidManifest.xml 文件中启动器活动的活动标记

<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:excludeFromRecents="true">
....
</activity>

【讨论】:

【解决方案2】:

感谢上帝,我在思考了一个星期后得到了答案。 添加 singleInstance 属性以及从最近排除。 这是 5.0 中的一个错误,现在已在 5.1 中解决

 <activity
        android:name="activityName"
        android:excludeFromRecents="true"
        android:launchMode="singleInstance"
         >
 </activity>

【讨论】:

    【解决方案3】:

    根据您的需要,finishAndRemoveTask() 是文档中的新 API

    完成此任务中的所有活动并将其从最近的活动中删除 任务列表。

    if(android.os.Build.VERSION.SDK_INT >= 21)
    {
        finishAndRemoveTask();
    }
    else
    {
        finish();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多