启动 activity 而不将应用程序带到前台

start activity without bringing application to foreground

我的 android 应用程序出现问题。在我的启动画面中,经过一些验证后,该应用程序启动了 homeactivity,但如果用户进入另一个应用程序,我的应用程序的 homeactivity 仍将到达设备的前台。有没有办法在不将我的应用程序放在前面的情况下开始家庭活动? 我试过这段代码,但没有用

Intent intent = new Intent(SplashScreen.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(intent);

与其立即启动 HomeActivity,不如在下次 SplashScreen 处于恢复状态时举起一个标志并使用它。例如,您可以使用 LiveData 来存储标志并观察它:

// inside SplashScreen or its ViewModel if you have one
MutableLiveData<Boolean> isVerifiedLiveData = new MutableLiveData<>();

// inside SplashScreen
@Override
protected void onCreate(Bundle savedInstanceState) {

    /* ...... add this to onCreate .... */

    isVerifiedLiveData.observe(this, new Observer<Boolean>() {
        @Override
        public void onChanged(Boolean isVerified) {
            if(isVerified){
                Intent intent = new Intent(SplashScreen.this, HomeActivity.class);
                startActivity(intent);
                finish();
            }
        }
    });
}

然后触发 activity 更改只需修改 isVerifiedLiveData 值:

isVerifiedLiveData.setValue(true);