【问题标题】:Ionic - GPS enabled离子 - 启用 GPS
【发布时间】:2018-08-25 18:49:11
【问题描述】:

我正在寻找一种简单的方法来了解 iOS/Android 设备上的 GPS 权限状态。

我将举一个例子来澄清我的问题:

如果设备上的 GPS 已关闭(因此无法获取经度/纬度坐标),我会以这种方式显示标签。

<p *ngIf="!isGPSTurnedOn()">GPS is turned off, please go to settings and turn it on!<\p>

在ts文件中:

isGPSTurnedOn() { return .... }

也有可能是打开了GPS,但用户没有授予定位权限。像这样的

<p *ngIf="!isGPSPermissionGranted()">Location permission is not granted. Please go to settings and grant it!<\p>

ts 文件中的相同故事。

我的最终目标是在授予这两个权限的情况下尝试获取 GPS 位置:否则,用户将收到有关此问题的警告。

提前致谢!

【问题讨论】:

    标签: android ios ionic-framework gps ionic3


    【解决方案1】:

    您需要的是 Ionic Native - 诊断 插件。

    https://ionicframework.com/docs/native/diagnostic/

    使用此插件,您可以检查设备功能是否启用,包括 GPS。

    一些有用的方法(来自插件文档):

    isLocationEnabled() : 如果位置的设备设置打开,则返回 true。在 Android 上,如果位置模式打开,则返回 true。在 iOS 上,如果位置服务已打开,则返回 true。

    isLocationAuthorized() : 检查应用程序是否被授权使用位置。 Android 的注意事项:这适用于 Android 6 / API 23 及更高版本。在 Android 5 / API 22 及更低版本上调用将始终返回 GRANTED 状态,因为权限已在安装时授予。

    getLocationAuthorizationStatus() : 返回应用的位置授权状态。

    requestLocationAuthorization(mode) : 返回应用程序的位置授权状态。 Android 的注意事项:这适用于 Android 6 / API 23 及更高版本。在 Android 5 / API 22 及更低版本上调用将始终返回 GRANTED 状态,因为权限已在安装时授予。

    【讨论】:

    • 这对我有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    相关资源
    最近更新 更多