android - 在 Android 中打开启动应用程序之前如何避免加载主屏幕?

标签 android android-intent homescreen

我有一个应用程序,我想将其呈现为用户在 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/

相关文章:

java - 广播接收器使某些设备中的应用程序崩溃

android - NullPointerException导致android动画崩溃

android - Activity 中的旧 Intent 从通知开始

android - 如何让我的 Android 应用出现在另一个特定应用的共享列表中

android - 如何将用户重定向到 Android 应用程序中的默认启动器?

android - 如何为 Android 创建自定义主屏幕替换应用程序?

java - 如何设置图片大小正方形.. 所有手机屏幕都支持哪些?

android - 捕获 IP 摄像机流并在我的网站上发布

android - 生成的客户端 jar 中的空包(模型)

java - 如何从我的应用程序将小部件添加到 Android 主屏幕?