首页 > 解决方案 > 可以接受位置权限,但返回“用户拒绝地理定位”

问题描述

我正在设置位置和请求的权限,在获得“允许”的结果后:

在此处输入图像描述 ...但在请求 GPS 坐标后返回:

在此处输入图像描述

我的 JS 代码在 Chrome 浏览器上工作没有问题,但在我的应用程序中没有。

if(navigator.geolocation){
    navigator.geolocation.getCurrentPosition(
        function(position){
            $("#latfossil").val(position.coords.latitude);
            $("#lonfossil").val(position.coords.longitude);
        }, function(error){
            alert(error.message);
        }, {
            enableHighAccuracy: true,
            timeout: 5000,
            maximumAge: 100
        }
    );
}

获得许可:

Manifest.permission.CAMERA,android.Manifest.permission.ACCESS_FINE_LOCATION

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<uses-permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT" />
<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.webkit.PermissionRequest" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.LOCATION_HARDWARE" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
<uses-permission android:name="com.samsung.accessory.permission.ACCESSORY_FRAMEWORK" />
<uses-permission android:name="com.samsung.android.provider.filterprovider.permission.READ_FILTER" />
<uses-permission android:name="com.samsung.android.provider.stickerprovider.permission.READ_STICKER_PROVIDER" />
<uses-permission android:name="com.samsung.android.aremoji.provider.permission.READ_STICKER_PROVIDER" />

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
<uses-feature android:name="android.hardware.camera.level.full" android:required="false" />
<uses-feature android:name="android.hardware.camera.capability.raw" android:required="false" />
<uses-feature android:name="android.hardware.camera.any" android:required="false" />
<uses-feature android:name="android.hardware.camera.android" android:required="false" />
<uses-feature android:name="android.hardware.camera.androidx" android:required="false" />
<uses-feature android:name="android.hardware.camera.anim" android:required="false" />
<uses-feature android:name="android.hardware.camera.animator" android:required="false" />
<uses-feature android:name="android.hardware.camera.java" android:required="false" />
<uses-feature android:name="android.hardware.camera.javax" android:required="false" />
<uses-feature android:name="android.hardware.camera.capability.manual_post_processing" android:required="false" />
<uses-feature android:name="android.hardware.camera.capability.manual_sensor" android:required="false" />
<uses-feature android:name="android.hardware.camera.capability.raw" android:required="false" />
<uses-feature android:name="android.hardware.camera.external" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />

<uses-feature android:name="android.hardware.location.gps" />
<uses-feature android:name="android.hardware.location.network" />

<uses-feature android:name="android.hardware.microphone" android:required="false" />
<uses-feature android:name="android.hardware.camera2" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CameraAccessException" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CameraCaptureSession" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CameraCharacteristics" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CameraConstrainedHighSpeedCaptureSession" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CameraDevice" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CameraManager" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CameraMetadata" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CaptureFailure" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CaptureRequest" android:required="false" />
<uses-feature android:name="android.hardware.camera2.CaptureResult" android:required="false" />
<uses-feature android:name="android.hardware.camera2.DngCreator" android:required="false" />
<uses-feature android:name="android.hardware.camera2.TotalCaptureResult" android:required="false" />
<uses-feature android:name="android.hardware.camera2.params" android:required="false" />

为什么要获得许可但不返回 GPS 坐标?

标签: androidhtmllocationhybrid-mobile-app

解决方案


推荐阅读