【问题标题】:why android app not show in recent task?为什么android应用程序没有显示在最近的任务中?
【发布时间】:2018-03-29 14:10:56
【问题描述】:

我有一个 android 演示,只有一个活动。在 (onCreate|onStart|onResume) 中进行活动调用完成(),然后单击最近按钮,但我的活动未显示在最近的任务中。但是当我使用这样的代码时,它会显示在最近的任务中。似乎在经历了所有生命周期之后,它会显示在最近的任务中?谁能告诉我这是怎么回事,谢谢。

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        getMainLooper().getQueue().addIdleHandler(new MessageQueue.IdleHandler() {
            @Override
            public boolean queueIdle() {
                finish();
                return false;
            }
        });
}

我不在清单中使用 android:excludeFromRecents="true",就像这样:

<activity android:name=".XXXActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

【问题讨论】:

  • 它与您提供的问题链接不重复。问题清楚地表明,应用程序在最近的任务列表中显示了上面的代码,但没有显示为正常的finish()。这意味着android:excludeFromRecents="true"与它无关。
  • @sunpointed 在 Activity 完成其生命周期后单击按钮调用 finish() 会发生什么?
  • 我猜这可能是因为finish() 在系统完成处理应用程序启动之前过早地向活动消息队列发布了 exit 请求,因此没有机会获得应用程序的屏幕截图
  • 我认为在单击按钮上调用finish()与使用IdleHandler一样,它会出现在最近的任务中

标签: android


【解决方案1】:

那是因为你可能已经设置了

<activity... android:label=""/>

隐藏操作栏名称..或者你已经设置

android:excludeFromRecents="true"

【讨论】:

  • 我没有设置 android:excludeFromRecents="true"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-08
  • 1970-01-01
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多