我的安卓应用面临着一个问题,我的应用在经过一些验证后,在我的闪屏中,应用启动了homeactivity,但如果用户进入另一个应用,我的应用的homeactivity仍然会进入设备的前台。在我的闪屏中,经过一些验证后,应用程序启动了homeactivity,但如果用户进入另一个应用程序,我的应用程序的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();
}
}
});
}
然后触发活动变化,只需修改 isVerifiedLiveData
价值。
isVerifiedLiveData.setValue(true);