android - 当使用打开选项从 SD 卡安装时,应用程序每次都从 splash 启动(同时关闭主页)

标签 android android-launcher

当我们按照给定的流程在 Android 设备中安装应用程序时,我发现任何 Android 应用程序都存在非常奇怪的错误。

  1. 卸载应用程序(如果已安装)。
  2. 下载应用程序(.apk 文件)并保存在 SD 卡中
  3. 双击 .apk 文件并点击“安装” 窗口
  4. 在确认弹出窗口中,点击“打开”按钮(请不要点击 “完成”)
  5. 现在应用程序将打开然后访问一些其他 Activity (在我的例子中 说...启动 ---> 登录--> 主屏幕)。
  6. 现在点击设备主页按钮,它会带我到设备主界面 屏幕。
  7. 现在,如果我再次点击启动器图标,我的应用会从 1 号开始 屏幕(即 Splash )。 虽然它应该显示我的应用主页。

同样在步骤 4 中,如果我选择“完成”选项,然后启动我的应用程序,那么它工作正常。

这是与 Android 操作系统相关的错误吗?还是我做错了什么?

非常感谢在这方面的任何建议。

谢谢 喜满树

最佳答案

我通过在 SplashActivity 的 onCreate 中添加这段代码解决了这个问题:

 if (!isTaskRoot()
                && getIntent().hasCategory(Intent.CATEGORY_LAUNCHER)
                && getIntent().getAction() != null
                && getIntent().getAction().equals(Intent.ACTION_MAIN)) {

            finish();
            return;
        }

如果有人能找到它的来源,请告诉我 - 我找不到我从中得到的原始答案。

关于android - 当使用打开选项从 SD 卡安装时,应用程序每次都从 splash 启动(同时关闭主页),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22879993/

相关文章:

android - 基于位置的排行榜

android - AppWidgetManager.ACTION_APPWIDGET_BIND 总是返回 Activity.RESULT_CANCELED

Android - 未调用 onNewIntent - 单顶 Activity

android - 导航组件 SingleTask 启动 fragment 导航

android - 将谷歌设置为主屏幕中的搜索栏以编程方式自定义启动器

android 禁用最近的应用程序键

android - Activity 在后台被杀死后应用程序崩溃

android - 如何打乱 RealmResults 对象的内容

android - 如何将注销放在操作栏菜单中

java - Android Studio : Early Access Java versions may cause compatibility issues