Geolocation Cordova插件会导致应用冻结/崩溃

时间:2016-12-29 17:58:32

标签: javascript android angularjs cordova cordova-plugins

我正在构建一个Android应用来拍摄照片和您当前的位置并将其发送到服务器。我正在使用AngularJs和Apache Cordova这样做。在后端,我正在使用Web API和实体框架。

我设法拍摄了照片,但是当我尝试获取当前位置时,该应用程序会冻结。 Android不会返回错误,javascript控制台也不会返回错误(在Chrome DevTools上进行重新调整)。它只是停止响应,即使我为请求设置了超时。

这是我的代码:

$scope.send = function () {
    navigator.geolocation.getCurrentPosition(
        function (success) {
            console.log("success")
        },
        function (error) {
            console.log("error")
        },
        {timeout: 15000}
    )
}

我用ngCordova拍摄照片,并尝试将它用于拍摄位置,但因为它很冷,所以尝试使用这种方式(也许这是ngCordova的一个问题)。但结果是一样的。

我在网上搜索过它,但还没找到任何可以解决问题的东西..

我已经来过这里了:

Phonegap Geolocalisation application crashes

Cordova geolocation plugin doesn't work on android

如果需要任何其他代码,请告知我们。

提前致谢!

编辑:我在另一部Android手机上测试过,结果是一样的。

编辑2 :我在visual studio上创建了一个空白的应用程序,GeoLocation使用了该代码。刚复制并粘贴。

1 个答案:

答案 0 :(得分:1)

我发现了问题。

我使用require.js加载脚本。我在cordova.js本身之前加载了initCordova(也使用require的脚本)。确保以正确的顺序加载,然后开始工作。

但有趣的是,相机插件工作正常。