我有一个应用程序,我想将其呈现为用户在 Android 设备上启动后看到的第一个屏幕。目前应用程序监听 android.intent.action.BOOT_COMPLETED
,并自动启动(如 here 所述)。一切都很好。
问题是,在我的应用程序启动之前,主屏幕几乎总是可见一秒钟。我知道我可以用我自己的应用程序替换启动器应用程序,但我的目标是在不干扰用户选择自定义启动器的情况下呈现这个初始欢迎屏幕。 (我知道将屏幕强加给用户的用户体验问题,现在我只是在研究可能发生的事情。)
所以我的问题是:有没有办法做到这一点?也许是为了中断主屏幕的首次启动,或者确保我的应用程序首先出现?
如果没有,是否可以创建一个仅在启动时显示此屏幕并随后重定向到用户选择的启动器或家庭应用程序的启动器应用程序?我的直觉是接收 Intent.CATEGORY_LAUNCHER
类别,显示屏幕(如果它还没有)或者如果没有发送另一个 Intent 打开真正的启动器......我再次不确定这是否是可能。
感谢帮助!
编辑:例如,this app如果使用也会有同样的问题:自动启动的应用程序出现在主屏幕之后。
最佳答案
终于找到了解决办法,而且很简单。
您所要做的就是将这些行添加到您的 AndroidManifest 接收器中:
<receiver android:name="com.dannywind.delphi.BootReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
然后下次您打开您的应用程序时,Android 系统会询问您是否要将应用程序设为主屏幕。
希望它对你有用。
关于android - 在 Android 中打开启动应用程序之前如何避免加载主屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17685574/