标签:android android-activity android-intent splash-screen
我的应用程序以欢迎屏幕活动开始,但该屏幕可以选择在将来的发布中完全跳过该屏幕.
什么是适当的Android方式来做到这一点?最初,我只是自动检测到skipWelcome首选项并切换到Welcome的第二个活动.但这样做的结果是允许用户点击后退按钮到我们承诺永远不再显示的欢迎屏幕.
现在,在Welcome活动中,我读取了首选项并在当前活动上调用了finish():
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean skipWelcome = preferences.getBoolean("skipWelcome", false);
if (skipWelcome) {
this.finish();
}
然后我实现onDestroy继续下一个Activity:
@Override
public void onDestroy() {
super.onDestroy();
startActivity(new Intent(Welcome.this, StartFoo.class));
}
但这会产生一些奇怪的视觉转换.我开始认为我需要一个基本活动,只有在适当的情况下弹出打开欢迎,然后转到StartFoo.
解决方法:
有一些解决方案.
您是否尝试过启动活动并完成?我愚蠢地记得工作,但我可能是错的.
更准确地说,在if(skipWelcome)中,您可以为结果启动新活动,然后在调用onActivityResult时,立即完成欢迎活动.
或者,您可以让您的启动器活动没有视图(不设置内容),并启动欢迎活动或StartFoo.
标签:android,android-activity,android-intent,splash-screen 来源: https://codeday.me/bug/20190526/1158195.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。