返回启动器应用程序:: Android上的应用程序时保持状态?

投资组合建立者

我创建了一个具有主屏幕按钮功能的Android启动器应用程序,它将带您离开启动器并进入标准的Android主屏幕。我使用以下代码片段进行此操作:

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

我遇到的问题是,当用户重新启动启动器应用程序时,它从头开始。我没有回到发起的同一活动。我怀疑这是因为该应用程序是启动器,因此它的行为与“活动”进入后台并可以返回的普通应用程序不同。相反,该行为是它完成了堆栈任务中的所有活动。

有什么建议可以防止或解决此问题?

对于那些询问清单的人,这些是创建启动器的步骤

1)我在活动中添加了以下属性

android:launchMode="singleTask"

2)我在意图过滤器中添加了以下类别

<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.HOME" />

最后,我创建了一个演示来演示我正在描述的问题。此处:www.mediafire.com/download/qu5nfzoaj8cqjtu/LauncherDemo.zip

大卫·水

我看了你的演示。不幸的是,这行不通。

当Android启动LAUNCHER时,它将设置以下Intent标志:

FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

这导致任务被简化为根活动。您对启动LAUNCHER活动时设置的Intent标志没有任何控制权,因此您无法阻止这种情况的发生。

一般而言,发射器活动具有launchMode="singleInstance"这意味着,当启动器启动活动时,该活动将结束另一个任务。LAUNCHER活动始终独自完成一项任务。这样一来,您就可以始终将LAUNCHER活动置于前台(因为它的任务中没有其他活动)。

您可能需要重新考虑您的体系结构。对不起。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flutter启动器-卸载应用程序时如何更新应用程序列表?

来自分类Dev

如何从启动器类启动TornadoFX应用程序

来自分类Dev

更改默认的访客会话启动器应用程序?

来自分类Dev

Synapse应用程序启动器可用吗?

来自分类Dev

如何为应用程序创建启动器?

来自分类Dev

如何为应用程序创建启动器?

来自分类Dev

更改默认的访客会话启动器应用程序?

来自分类Dev

Synapse应用程序启动器可用吗?

来自分类Dev

Google Chrome从应用程序启动器中消失了

来自分类Dev

不受信任的应用程序启动器(符号链接)

来自分类Dev

为gridview启动器获取特定的应用程序

来自分类Dev

启动器和LockScreen应用程序的清单文件

来自分类Dev

如何为.sh应用程序添加启动器?

来自分类Dev

哪些应用程序启动器可用于Ubuntu?

来自分类Dev

无法从启动器运行Wine应用程序

来自分类Dev

如何使Unity记住启动器中的应用程序?

来自分类Dev

如何清除 Kubuntu 应用程序启动器缓存?

来自分类Dev

scrcpy 没有应用程序启动器

来自分类Dev

Java应用程序启动器不停留在Unity启动器中

来自分类Dev

将位置类型的启动器添加到Unity应用程序启动器

来自分类Dev

使用用于终端应用程序的启动器,程序完成后如何使终端保持打开状态?

来自分类Dev

使用用于终端应用程序的启动器,程序完成后如何使终端保持打开状态?

来自分类Dev

尝试在Android 5.0上切换启动器时,我的应用程序关闭

来自分类Dev

单击Cordova中的应用程序图标启动器时,如何恢复应用程序?

来自分类Dev

如何使Chromium应用程序窗口在Unity启动器中算作“自己的应用程序”?

来自分类Dev

如何使Chromium应用程序窗口在Unity启动器中算作“自己的应用程序”?

来自分类Dev

安装应用程序的问题:启动器应用程序

来自分类Dev

打开应用程序启动器时禁用所有应用程序的概览

来自分类Dev

捆绑JavaFX应用程序时,如何对可执行启动器进行代码签名?

Related 相关文章

  1. 1

    Flutter启动器-卸载应用程序时如何更新应用程序列表?

  2. 2

    如何从启动器类启动TornadoFX应用程序

  3. 3

    更改默认的访客会话启动器应用程序?

  4. 4

    Synapse应用程序启动器可用吗?

  5. 5

    如何为应用程序创建启动器?

  6. 6

    如何为应用程序创建启动器?

  7. 7

    更改默认的访客会话启动器应用程序?

  8. 8

    Synapse应用程序启动器可用吗?

  9. 9

    Google Chrome从应用程序启动器中消失了

  10. 10

    不受信任的应用程序启动器(符号链接)

  11. 11

    为gridview启动器获取特定的应用程序

  12. 12

    启动器和LockScreen应用程序的清单文件

  13. 13

    如何为.sh应用程序添加启动器?

  14. 14

    哪些应用程序启动器可用于Ubuntu?

  15. 15

    无法从启动器运行Wine应用程序

  16. 16

    如何使Unity记住启动器中的应用程序?

  17. 17

    如何清除 Kubuntu 应用程序启动器缓存?

  18. 18

    scrcpy 没有应用程序启动器

  19. 19

    Java应用程序启动器不停留在Unity启动器中

  20. 20

    将位置类型的启动器添加到Unity应用程序启动器

  21. 21

    使用用于终端应用程序的启动器,程序完成后如何使终端保持打开状态?

  22. 22

    使用用于终端应用程序的启动器,程序完成后如何使终端保持打开状态?

  23. 23

    尝试在Android 5.0上切换启动器时,我的应用程序关闭

  24. 24

    单击Cordova中的应用程序图标启动器时,如何恢复应用程序?

  25. 25

    如何使Chromium应用程序窗口在Unity启动器中算作“自己的应用程序”?

  26. 26

    如何使Chromium应用程序窗口在Unity启动器中算作“自己的应用程序”?

  27. 27

    安装应用程序的问题:启动器应用程序

  28. 28

    打开应用程序启动器时禁用所有应用程序的概览

  29. 29

    捆绑JavaFX应用程序时,如何对可执行启动器进行代码签名?

热门标签

归档