javascript - Cordova Android 'Uncaught Function required as first argument' 由事件监听器引起

标签 javascript cordova

在 Android 上运行的 Ionic AngularJS Cordova 应用

我有一个启动一些事件监听器的服务。有些可以工作,而两个会导致应用程序因 logcat 错误而崩溃

Uncaught Function required as first argument!

注册事件监听器的函数

var _init = function () {
        var onDeviceReady = function () {
            _startCamera();
            window.addEventListener('orientationchange', _startCamera);
            document.addEventListener('pause', _stopCamera(), false);  // causes crash on start
            document.addEventListener('resume', _startCamera(), false);  // causes crash on start
        };
        document.addEventListener('deviceready', onDeviceReady, false);
    };

deviceready 和orientationchange 的事件监听器起作用;但是,如果我保留暂停或恢复应用程序崩溃。如果我注释掉这两行,应用程序就可以正常运行。

我的 _startCamera 和 _stopCamera 定义

var _stopCamera = function () {
        ...
    };

var _startCamera = function () {
        ...
    };

我已经尝试过:

  1. 将函数声明更改为 _stopCamera function () { ... },无需更改
  2. 在 _init 之前或之后声明这两个函数,没有变化
  3. 将两个 addEventListener 放置在 onDeviceReady 外部和内部,没有变化

--如何解决 Cordova 声称函数调用错误的问题?

最佳答案

您正在调用这些处理程序而不是传递它们。删除()

document.addEventListener('pause', _stopCamera, false);
document.addEventListener('resume', _startCamera, false);

关于javascript - Cordova Android 'Uncaught Function required as first argument' 由事件监听器引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32289486/

相关文章:

javascript - 定位并换行小数点后的第 3 位数字

javascript - 在回调中调用 yield,redux saga 给了我一个异常为什么?

javascript - 如何在javascript中通过json对象进行映射?

javascript - 过滤数字数组,其中 0 是有效输入

android - 将jar文件与phonegap/cordova插件一起使用

asp.net - 在 IPHONE 应用程序中使用 .net?

java - APK 的不同版本代码,具有 phonegap 构建的 android 应用程序

javascript - 使用 Leaflet Slider 显示随时间变化时如何删除标记

android - 推送通知不工作 PhoneGap Android

cordova - 是否可以使用 phonegap 保存 blob?