如何将Android暂停的活动置于最前面

里克·麦康尼

我有一个活动,启动一个异步任务,该任务监听来自服务器的消息。当用户单击“主页”按钮时,活动将暂停,并且异步任务将继续在后台运行。当某条消息到达时,我希望活动能够继续进行并走到最前面而不被重新创建。我尝试了以下方法。

android:launchMode =“ singleTop”

intent = new Intent(getBaseContext(), MainActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

这会将活动置于最前面,但会重新启动活动。

我也尝试过

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);            
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);                   intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

但是这些都没有把活动摆在最前面。

恢复应用程序的正确标志是什么,例如从主屏幕重新启动应用程序时会发生什么。

里克·麦康尼

我发现以下似乎有效的解决方案。这有点令人费解,但我想要的。

请参阅:将任务放在android.intent.action.USER_PRESENT上

我制作了以下方法来调用BringToFront活动,该活动只需调用finish()即可;

private void bringToFront()
{
   Intent i = new Intent(getBaseContext(), BringToFront.class);
   i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   getBaseContext().startActivity(i);
}

在我看来,应该有一种更简单的方法将一项任务放在最前面。请稍等一下,看看是否有更好的建议。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将网格线置于最前面?

来自分类Dev

如何通过下拉菜单中的通知将活动置于最前面?

来自分类Dev

OS X菜单栏应用程序:如何将窗口置于最前面

来自分类Dev

Android:在ActivityManager.getRunningTasks中找不到活动时如何将活动移到最前面

来自分类Dev

将UITextField键盘置于最前面

来自分类Dev

将终端置于Python的最前面

来自分类Dev

将终端置于Python的最前面

来自分类Dev

Android,将已经开始的活动带回到最前面

来自分类Dev

从小部件启动2个意图时,如何将应用程序置于最前面?

来自分类Dev

通知将应用程序置于最前面,无需更改活动

来自分类Dev

如何将MDI子窗体放在最前面?

来自分类Dev

如何将数组的各个部分移到最前面?

来自分类Dev

如何将UICollectionViewCell放在最前面?

来自分类Dev

如何将jdiv中的div放在最前面?

来自分类Dev

将位于最前面的子视图置于最前面

来自分类Dev

将窗口置于最前面时,其他窗口位于最前面

来自分类Dev

将Bootstrap下拉菜单置于最前面

来自分类Dev

强制将excel窗口置于最前面?

来自分类Dev

使用firefox插件将firefox窗口置于最前面

来自分类Dev

使用CSS将元素置于按钮单击的最前面

来自分类Dev

使用CSS将元素置于最前面

来自分类Dev

将extjs表单字段置于最前面

来自分类Dev

强制将excel窗口置于最前面?

来自分类Dev

使用firefox插件将firefox窗口置于最前面

来自分类Dev

通过更改Android中的Z-Index将Google Map Markers置于最前面

来自分类Dev

单击独立的QWidget时如何避免将QMainWindow置于最前面

来自分类Dev

如何在WinXP中使用批处理脚本将应用程序置于最前面

来自分类Dev

Windows OpenDialog在Delphi中其他形式的应用程序的后台打开,如何将其置于最前面?

来自分类Dev

Xamarin Android-移植Android Api 26-> API 28-单击时将按钮置于最前面

Related 相关文章

  1. 1

    如何将网格线置于最前面?

  2. 2

    如何通过下拉菜单中的通知将活动置于最前面?

  3. 3

    OS X菜单栏应用程序:如何将窗口置于最前面

  4. 4

    Android:在ActivityManager.getRunningTasks中找不到活动时如何将活动移到最前面

  5. 5

    将UITextField键盘置于最前面

  6. 6

    将终端置于Python的最前面

  7. 7

    将终端置于Python的最前面

  8. 8

    Android,将已经开始的活动带回到最前面

  9. 9

    从小部件启动2个意图时,如何将应用程序置于最前面?

  10. 10

    通知将应用程序置于最前面,无需更改活动

  11. 11

    如何将MDI子窗体放在最前面?

  12. 12

    如何将数组的各个部分移到最前面?

  13. 13

    如何将UICollectionViewCell放在最前面?

  14. 14

    如何将jdiv中的div放在最前面?

  15. 15

    将位于最前面的子视图置于最前面

  16. 16

    将窗口置于最前面时,其他窗口位于最前面

  17. 17

    将Bootstrap下拉菜单置于最前面

  18. 18

    强制将excel窗口置于最前面?

  19. 19

    使用firefox插件将firefox窗口置于最前面

  20. 20

    使用CSS将元素置于按钮单击的最前面

  21. 21

    使用CSS将元素置于最前面

  22. 22

    将extjs表单字段置于最前面

  23. 23

    强制将excel窗口置于最前面?

  24. 24

    使用firefox插件将firefox窗口置于最前面

  25. 25

    通过更改Android中的Z-Index将Google Map Markers置于最前面

  26. 26

    单击独立的QWidget时如何避免将QMainWindow置于最前面

  27. 27

    如何在WinXP中使用批处理脚本将应用程序置于最前面

  28. 28

    Windows OpenDialog在Delphi中其他形式的应用程序的后台打开,如何将其置于最前面?

  29. 29

    Xamarin Android-移植Android Api 26-> API 28-单击时将按钮置于最前面

热门标签

归档