反应原生检查位置服务是不是在iOS上
Posted
技术标签:
【中文标题】反应原生检查位置服务是不是在iOS上【英文标题】:react native check if location services are on iOS反应原生检查位置服务是否在iOS上 【发布时间】:2017-04-11 10:12:33 【问题描述】:我在 react native 中使用 navigator.geolocation.getCurrentPosition() 并且工作正常。 但是,如果关闭位置服务(引导用户进行设置的对话框),我希望能够做出很好的反应。 我找到了适用于 android 的插件,我认为它可以正常工作: https://www.npmjs.com/package/react-native-android-location-services-dialog-box 在ios中应该怎么做?
【问题讨论】:
【参考方案1】:编辑
你可以使用这个做得很好的第三者library
然后像这样使用它:
Location.getAuthorizationStatus((authorization) =>
console.log(authorization)
);
上一个答案
getCurrentPosition
可以接受错误回调。如果未启用位置,则会触发此操作。
你可以这样做:
navigator.geolocation.getCurrentPosition(
(position) =>
this.setState( position );
,
(error) =>
console.log(alert);
,
enableHighAccuracy: true, timeout: 20000, maximumAge: 1000
);
您可以查看docs了解更多信息。
【讨论】:
谢谢,我检查过了,但错误没有接缝返回一个清晰的错误代码,可以确定错误的来源...... 除此之外,这对打开操作系统参数没有帮助 要在ios中打开设置,您可以使用:Linking.openURL('app-settings:')
。更多信息here
@alexandre 您也可以使用我在答案中添加的库。
是的,非常感谢!你知道如何对错误类型进行排序吗?像错误,因为您的应用没有授权位置,因为位置关闭而出现错误,因为无法检索位置而出现错误,错误超时......以上是关于反应原生检查位置服务是不是在iOS上的主要内容,如果未能解决你的问题,请参考以下文章