我的应用程序以欢迎屏幕活动开始,但在以后的启动中,该屏幕可以完全跳过该屏幕。
安卓的正确方法是什么?最初,我只是自动检测到Skipwelcome偏好,并从Welcome切换到第二个活动。但这样做的效果是允许用户点击后退按钮进入我们承诺不再显示的欢迎屏幕。
现在,在欢迎活动中,我阅读了当前活动的首选项并调用finish():
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean skipWelcome = preferences.getBoolean("skipWelcome", false);
if (skipWelcome) {
this.finish();
}
然后我实现ondestroy,继续下一个活动:
@Override
public void onDestroy() {
super.onDestroy();
startActivity(new Intent(Welcome.this, StartFoo.class));
}
但这会造成一些奇怪的视觉转换。我开始认为我需要一个基本的活动,只有在适当的时候才打开欢迎,然后转到startfoo。
最佳答案
有一些解决办法。
你是不是刚开始活动就结束了?我当然记得那次工作,但我可能错了。
更正确的是,在if(skipwelcome)中,可以为result启动新活动,然后在调用onActivityResult时,立即完成欢迎活动。
或者,您可以让启动程序活动没有视图(不设置内容),然后启动欢迎活动或startfoo。