我有一个应用程序,里面只有一个活动。当我的应用程序从图标启动时,我需要显示一个品牌/启动屏幕。我的客户非常强调这一点,在启动应用程序时必须始终有一个启动屏幕。(请注意,它也有一份法律通知,因此显然律师参与了这一决定)
当然,当方向发生变化时,或者在打完电话(应用程序可以启动电话拨号程序BTW)之后返回应用程序时,不应该出现溅屏。
我知道当它出现的时候,这个应用程序并不总是真正“开始”,因为它可能是最近才开始运行的,而且它的活动保持了活力。然而,我的客户并不关心这种技术性,对他们来说,如果你从一个图标启动它,你正在“启动”应用程序,它必须显示启动屏幕。
有什么好的策略吗?我不知道如何区分发起活动的各种方式。
发布于 2010-12-16 07:21:11
你应该告诉你的当事人这是个很糟糕的主意。但是,如果你真的需要破解这个问题,那么上面的任何建议都是行不通的。我唯一能想到的是,每次活动暂停(onPause)时,都要在首选项中保存时间戳,然后每当任何活动恢复(onResume)时,都要检查该值,如果该值是很久以前重定向到启动屏幕活动的话。然而,这将是可怕的。
建议客户创建一个标准的飞溅屏幕,用一个对话框,上面写着“是的.我看过.”然后单击继续。当他们按一下你就可以确认你再也不需要显示水花了.
发布于 2010-12-16 06:05:28
创建一个显示启动屏幕的活动,在单击启动程序时给它提供要启动的意图筛选器:
<activity android:name="ShowMySplashScreen" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" >
<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
<category android:name="android.intent.category.LAUNCHER"></category>
</intent-filter>
</activity>显示屏幕多少秒后,调用活动中的finish()并启动实际的应用程序进程。
发布于 2010-12-16 06:10:31
就我理解您的问题而言,我认为您需要使用onStart () and onResume () (用于在按下HOME后返回活动时显示启动)。
关于splash视图,我建议使用ImageView (如果您想将图像显示为splash),并将其可见性设置为GONE &然后当您的Actvity恢复或启动时,使图像视图显示为FILL_PARENT
&(我想)你完蛋了!
https://stackoverflow.com/questions/4457855
复制相似问题