小编Iva*_*lov的帖子

在 Angular 混合应用程序中未触发 deviceready 事件

我正在构建一个全平台 Angular 6 APP,它将与 Cordova 8.1.2 一起打包,不幸的是我无法触发 deviceready事件。

我有两个单独的项目,一个用于 Angular,一个用于 Cordova,我能够构建以构建 Angular 项目并使用以下命令创建一个 android apk:

ng build --prod --base-href . --output-path ../Cordova/CordovaMobileApp/www/ & cd ../Cordova/CordovaMobileApp & cordova run android & cd ../../NxAngularMVI
Run Code Online (Sandbox Code Playgroud)

但是现在我需要使用 Cordova 插件,为此我需要检测deviceready事件。

在我的 index.html 头中,我已经包含了:

  <script type=”text/javascript” src=”cordova.js”></script>
Run Code Online (Sandbox Code Playgroud)

在我的 main.ts 文件中,我试图等待事件发生来引导我的应用程序。

const onDeviceReady = () => {
   console.log('Bootstrap ON!');
   platformBrowserDynamic().bootstrapModule(AppModule).catch(err => 
         console.log(err));
};

document.addEventListener('deviceready', onDeviceReady, false);
Run Code Online (Sandbox Code Playgroud)

应用程序永远不会初始化,因为 deviceready 事件永远不会被触发。我尝试了几种在这种引导方法的堆栈溢出中发现的变体,但无济于事。我尝试重新安装从框架到平台再到插件的每个cordova 部分,但没有任何帮助。我已经在 Galaxy S9 和摩托罗拉 G5 上对其进行了测试。

由于 Cordova API 提供的这个功能对于我的项目来说是必须的,我需要你们的帮助。谢谢 !

android cordova cordova-plugins angular angular6

2
推荐指数
1
解决办法
595
查看次数

标签 统计

android ×1

angular ×1

angular6 ×1

cordova ×1

cordova-plugins ×1