【发布时间】:2025-12-05 18:00:01
【问题描述】:
在我的 Android (6.0.1) 设备上运行我的Ionic 3 应用程序时,该应用程序卡在Cordova 启动屏幕上,尽管我可以通过 Chrome WebView 使用它(它可以工作很好)。
更奇怪的是,安装后第一次运行应用程序时,问题不会出现,只有在我关闭它并再次运行它(后退按钮或从任务列表滑动)后才会出现。
Chrome WebView 控制台中当然没有错误。我还尝试在控制台中运行:navigator.splashscreen.hide();
它不起作用。
挖掘更多
我还意识到,当问题发生时,我在config.xml 中设置的关于启动画面的任何首选项都会被忽略。
例如在第一次运行时:<preference name="ShowSplashScreenSpinner" value="false" />
确实可以正常工作,没有微调器,并且启动画面会在一段时间后隐藏。如果我在控制台中运行:navigator.splashscreen.show();
会再次显示初始屏幕,而 .hide() 会隐藏它。
在随后的运行中,无论偏好如何,微调器都会显示。甚至更奇怪的是:navigator.splashscreen.show();
确实显示了没有微调器的启动画面(我猜是在现有的之上),而.hide() 回到带有微调器的启动画面。
到目前为止我尝试过的事情没有成功:
npm install -g cordova@latestnpm install -g ionic@latest- 将 package.json 中的依赖项更新为最新版本
- 删除 node_modules 和平台文件夹并再次运行
npm install - 运行
cordova platform rm android && cordova platform add android - 删除 package-lock.json 并再次运行
npm install - 从我的代码中完全删除了启动画面插件
Cordova和package.json(并删除了 node_modules 和平台文件夹),但仍然显示死亡启动画面!
这是我的环境:
cli packages:
@ionic/cli-utils : 1.13.1
ionic (Ionic CLI) : 3.13.2
global packages:
cordova (Cordova CLI) : 7.1.0
local packages:
@ionic/app-scripts : 3.0.0
Cordova Platforms : none
Ionic Framework : ionic-angular 3.7.1
System:
Android SDK Tools : 26.1.1
Node : v7.2.0
npm : 5.5.1
OS : Windows 10
如果有帮助,还有我的 package.json 和 config.xml。
有什么想法吗?
【问题讨论】:
-
你为什么使用没有 ionic-native 包装器的 corova 插件?
-
我确实在我的 app.component.ts 中使用了 Ionic 原生包装器:
this.splashScreen.hide();。我在尝试调试时只在控制台中使用了navigator.splashscreen.hide()。 -
只是想确认一下。在访问插件之前您是否等待
platform.ready()事件? -
如果您正在执行此操作,您可以包含您的 app.component.ts 吗?
-
这是我的 app.component.ts pastebin.com/mKSajB9M
标签: android cordova ionic2 ionic3