Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 爱奥尼亚自然地理定位承诺一直悬而未决_Android_Geolocation_Ionic3 - Fatal编程技术网

Android 爱奥尼亚自然地理定位承诺一直悬而未决

Android 爱奥尼亚自然地理定位承诺一直悬而未决,android,geolocation,ionic3,Android,Geolocation,Ionic3,我创建了一个简单的应用程序,可以在谷歌地图上找到这个设备。 我的代码遵循官方文件- 当我在浏览器中运行ionic(使用ionic serve)时,它按预期工作,没有错误 但当我在真正的安卓设备上运行我的应用程序时,这个承诺从未得到解决,也从未被拒绝过,尽管我确信位置许可已经被授予 this.geostate = 'asking'; this.geolocation.getCurrentPosition().then((position) => { const latitu

我创建了一个简单的应用程序,可以在谷歌地图上找到这个设备。 我的代码遵循官方文件-

当我在浏览器中运行ionic(使用
ionic serve
)时,它按预期工作,没有错误

但当我在真正的安卓设备上运行我的应用程序时,这个承诺从未得到解决,也从未被拒绝过,尽管我确信位置许可已经被授予

this.geostate = 'asking';
this.geolocation.getCurrentPosition().then((position) => {
        const latitude = position.coords.latitude;
        const longitude = position.coords.longitude;
        this.geostate = 'coordinates ready';
        processCoordinatesSomehow(latitude, longitude);
    }).catch((error) => {
        this.geostate = 'error';
        console.log('Error getting location', error);
    });
在浏览器中,它会按预期进行切换。 但在android上,它总是一样的
this.geostate==='asking'

出于实验原因,在我的应用程序的android设置中,我将位置权限设置为“询问”模式。 当我试图通过调用适当的方法获取位置时,我的智能手机显示了一个模式窗口,请求获得位置许可。 我同意了,但什么也没发生-
this.geostate==='asking'

为什么geolocation的承诺在android上既没有得到解决也没有遭到拒绝,但在浏览器中却可以正常工作


*重建应用程序一点帮助都没有

我想看看这里,看看安卓系统是否有任何怪癖,让你知道为什么它在地理定位方面也不符合W3C规范。地理位置选项超时可能。。getCurrentPosition({timeout:n})。或者像这样的。。。