启动活动而不将应用程序置于前台

问题描述 投票:1回答:1

我的安卓应用面临着一个问题,我的应用在经过一些验证后,在我的闪屏中,应用启动了homeactivity,但如果用户进入另一个应用,我的应用的homeactivity仍然会进入设备的前台。在我的闪屏中,经过一些验证后,应用程序启动了homeactivity,但如果用户进入另一个应用程序,我的应用程序的homeactivity仍然会被带到设备的前台。有没有一种方法可以在不把我的应用程序带到前台的情况下启动homeactivity?

Intent intent = new Intent(SplashScreen.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(intent);
android android-lifecycle
1个回答
1
投票

而不是启动 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();
            }
        }
    });
}

然后触发活动变化,只需修改 isVerifiedLiveData 价值。

isVerifiedLiveData.setValue(true);
© www.soinside.com 2019 - 2024. All rights reserved.