在后台运行应用程序时更改android活动?

鲁奇尔·巴尼亚(Ruchir Baronia)

我的Android应用使用来检测应用是否在后台(例如,用户按下了主菜单)ComponentCallbacks2现在,我希望该应用程序在当前处于后台状态时更改活动而不更改用户界面。

我唯一的问题是:如何更改用户在后台的活动,以便在他/她回到应用程序时弹出该活动,而不是在我致电时立即弹出startActivity(Intent i)

这是我希望我的应用执行的步骤:

  1. 用户在应用程序中打开主菜单(WORKS)
  2. 应用检测到该应用处于后台(WORKS)
  3. 使用意图,在中断用户正在使用的任何应用程序的情况下打开另一个活动(不工作)

现在,第一步和第二步都很好。但是,当我使用意图更改活动时,活动会突然打开……打扰用户。基本上,我想要加载的活性,使尽快为用户打开应用程序的备份,它进入游戏结束画面。


我对该主题的研究以及我自己尝试解决的问题:

对此主题进行了大量研究,但其他问题都涉及在后台运行流程。为此,很明显,人们会使用一种服务。我的问题主要是针对用户在后台时如何更改活动以便当他/她回到应用程序时弹出该活动。我也尝试过使用onContinue()方法,但是每次用户更改活动时都会调用该方法,从而使其不可靠。

感谢专家的建议:

富有的

哈桑

我的建议是将您的偏好设置保存在onStop中(或当应用程序处于后台模式时)。然后在SplashActivity的OnCreate中使用该信息以启动游戏结束活动。

##

在您的活动中,您会检测到背景

 @Override
protected void onStop(){
   super.onStop();


  SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
  SharedPreferences.Editor editor = settings.edit();
  editor.putBoolean("isGameOver", isGameOver);

  // Commit the edits!
  editor.commit();
}
#########飞溅活动
public class SplashActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);

    Thread timerThread = new Thread(){
        public void run(){
            try{
                sleep(2000);
            }catch(InterruptedException e){
                e.printStackTrace();
            }finally{

   SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
   boolean isGameOver = settings.getBoolean("isGameOver", false);
               if(isGameOver) {
                Intent intent = new Intent(SplashActivity.this,GameOverActivity.class);
                startActivity(intent);
 } else {
        // Start Main Activity
    }
            }
           }
        }; timerThread.start();
}

@Override
protected void onPause() {
    super.onPause();
    finish();
}
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在后台运行应用程序时收听

来自分类Dev

在后台运行应用程序时,adb挂起

来自分类Dev

如何使Android应用程序始终在后台运行?

来自分类Dev

在Android中杀死在后台运行的应用程序

来自分类Dev

可以在后台运行应用程序时运行CADisplayLink吗?

来自分类Dev

科尔多瓦:在后台运行应用程序时运行事件

来自分类Dev

在后台运行的WPF应用程序

来自分类Dev

使Web应用程序在后台运行

来自分类Dev

在后台运行应用程序时未触发OS X Cocoa计时器

来自分类Dev

在后台运行应用程序时如何增加徽章编号

来自分类Dev

在后台运行应用程序时ping服务器

来自分类Dev

在后台运行Mono应用程序时是否可以检测到缺少控制台?

来自分类Dev

在后台运行应用程序时,Swift推送通知无法正常工作

来自分类Dev

在后台运行CPU密集型应用程序时进行多核编程?

来自分类Dev

如果我的应用程序在后台运行,为什么Android OS不会为singleTop活动创建新实例?

来自分类Dev

在后台应用程序时获取来电事件

来自分类Dev

如果应用程序在后台运行,如何不启动活动

来自分类Dev

在查看后台运行的应用程序时显示的颤动更改图标

来自分类Dev

仅当我的应用程序还处于活动状态且在后台运行且未被破坏时,才如何在后台运行BLE扫描?

来自分类Dev

iOS应用程序默认在后台模式下运行

来自分类Dev

单击主键,应用程序在后台运行

来自分类Dev

致电ios后恢复在后台运行的应用程序

来自分类Dev

如何保持应用程序在后台运行?

来自分类Dev

iOS应用程序可在后台连续运行

来自分类Dev

CloudKit推送通知,应用程序在后台运行

来自分类Dev

应用程序在后台运行功能| 扑

来自分类Dev

如何检查应用程序是否在后台运行?

来自分类Dev

应用程序在后台运行时的问题

来自分类Dev

保持iOS应用程序永远在后台运行

Related 相关文章

  1. 1

    在后台运行应用程序时收听

  2. 2

    在后台运行应用程序时,adb挂起

  3. 3

    如何使Android应用程序始终在后台运行?

  4. 4

    在Android中杀死在后台运行的应用程序

  5. 5

    可以在后台运行应用程序时运行CADisplayLink吗?

  6. 6

    科尔多瓦:在后台运行应用程序时运行事件

  7. 7

    在后台运行的WPF应用程序

  8. 8

    使Web应用程序在后台运行

  9. 9

    在后台运行应用程序时未触发OS X Cocoa计时器

  10. 10

    在后台运行应用程序时如何增加徽章编号

  11. 11

    在后台运行应用程序时ping服务器

  12. 12

    在后台运行Mono应用程序时是否可以检测到缺少控制台?

  13. 13

    在后台运行应用程序时,Swift推送通知无法正常工作

  14. 14

    在后台运行CPU密集型应用程序时进行多核编程?

  15. 15

    如果我的应用程序在后台运行,为什么Android OS不会为singleTop活动创建新实例?

  16. 16

    在后台应用程序时获取来电事件

  17. 17

    如果应用程序在后台运行,如何不启动活动

  18. 18

    在查看后台运行的应用程序时显示的颤动更改图标

  19. 19

    仅当我的应用程序还处于活动状态且在后台运行且未被破坏时,才如何在后台运行BLE扫描?

  20. 20

    iOS应用程序默认在后台模式下运行

  21. 21

    单击主键,应用程序在后台运行

  22. 22

    致电ios后恢复在后台运行的应用程序

  23. 23

    如何保持应用程序在后台运行?

  24. 24

    iOS应用程序可在后台连续运行

  25. 25

    CloudKit推送通知,应用程序在后台运行

  26. 26

    应用程序在后台运行功能| 扑

  27. 27

    如何检查应用程序是否在后台运行?

  28. 28

    应用程序在后台运行时的问题

  29. 29

    保持iOS应用程序永远在后台运行

热门标签

归档