应用程序处于后台时,切换活动

时间:2018-06-04 04:17:01

标签: java android android-activity

我有一个活动A正在收听一些websocket消息,当它收到某些消息时,它将通过startActivity()导航到活动B.

当应用程序处于前台时,情况正常,但当它在后台时,startActivity()将导致应用程序自动启动。

  

我如何" sliently" startActivity()在后台没有带来   应用程序前景?

4 个答案:

答案 0 :(得分:3)

你不能。您可以做的是设置一个标志,然后在onResume中调用startActivity,如果设置了标志,则调用下一个活动。

或使用片段代替活动。

答案 1 :(得分:1)

不可能直接这样做,但是您可以尝试在活动开始时尽量减少应用程序。

在您的活动的onCreate方法中,使用以下语句:

YourActivity.this.moveTaskToBack(true);

当然,您需要使用一些标志和附加内容,以防止在其他情况下将其最小化。

答案 2 :(得分:1)

正如@Gabe所说,你可以通过设置一个标志来做到这一点,就像我们通过检查SharedPreference中的用户对象来打开登录或主要活动一样。

if(SharedPreference Message count > 0){
            startActivity(new Intent(this, YourChattingActivity.class));
        }

此外,您还需要在SharedPreference中设置消息计数。

答案 3 :(得分:1)

使用以下链接,您可以实现您想要的效果: Here is the solution to check activity status and handle according to that.