Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在后台移动到另一个活动_Java_Android_Android Intent_Android Activity - Fatal编程技术网

Java 在后台移动到另一个活动

Java 在后台移动到另一个活动,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,我目前在一个扩展应用程序的类中,希望根据另一个应用程序的状态返回到以前的活动(或启动新活动)。但是我想在后台切换到另一个活动,而不是向用户显示该活动。这是我的密码: Intent launchIntent = new Intent(App.this, LoginActivity.class); launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (launchIntent != null) { startActivity(la

我目前在一个扩展应用程序的类中,希望根据另一个应用程序的状态返回到以前的活动(或启动新活动)。但是我想在后台切换到另一个活动,而不是向用户显示该活动。这是我的密码:

Intent launchIntent = new Intent(App.this, LoginActivity.class);
launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (launchIntent != null) {
    startActivity(launchIntent);
}

我不希望使用服务变得太复杂,而只是一种简单的方法来实现我想要实现的目标。这可能吗?

您不能在后台切换到另一个
活动,而不向用户显示它,因为
活动是一个android组件,设计用于向用户显示

活动表示Android应用程序的表示层, e、 g.用户可见的屏幕


如果您想要一些后台(异步)运行的代码,那么您有一些选项-
线程
服务
RxJava
和其他实现。虽然不建议这样做,但我建议从
AsyncTask
开始。这是在后台开始/学习做事的一种相对简单的方法(如果不是最简单的话),尽管它有一些缺点,不推荐在生产代码中使用

我想说这不是不可能的。一种方法是将一些数据发送到您的后台应用程序(可能通过推送通知、IPC或intent),然后您可以保留这些值,当您的应用程序到达前台时,您可以通过获取这些保存的值导航到所需的屏幕。@SarthakMittal这很有意义。因此,您建议我保留应用程序的某些状态,当应用程序进入前台时,特定的活动会启动?@waseefakhtar yes:)您可以创建一个baseactivity类并覆盖onStart,每当应用程序进入前台时,都会调用onStart,您可以从那里处理它。此外,您可以从应用程序类处理活动生命周期。看看我的答案@SarthakMittal,太棒了!从应用程序处理活动生命周期是我所需要的!