【问题标题】:IOS (Swift 3) How to trigger broadcast receiver when gps is turn on/off?IOS(Swift 3)打开/关闭gps时如何触发广播接收器?
【发布时间】:2018-01-05 21:21:30
【问题描述】:

朋友们好

我是 android(java/kotlin) 和 IOS(Swift) 开发人员。所以我可以很容易地在 Android 中获得 GPS Enable/Disable 的广播。但问题出在IOS平台上。

如果用户从手机设置中启用或禁用 GPS。有什么方法可以通过回调来检测我的应用是否启用/禁用 GPS。

【问题讨论】:

  • 您可以获取位置权限是否被授予申请。我认为这就是解决方案。您可以检查用户是否允许位置权限。如果用户手动启用或禁用应用程序的位置服务,您可以签入应用程序成为活动的方法

标签: ios iphone swift gps


【解决方案1】:

如果用户在设置中更新定位服务权限,然后进入应用程序(仍然加载在内存中),您的 CLLocationManagerDelegate 实现应该在函数中接收授权状态更新:

func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)

如果您想在第一次授权正面更改后采取行动,只需将先前状态以某种方式保留到用户默认值或其他持久选项中

【讨论】:

  • 您能否详细说明如何保持以前的状态并对更改执行操作?
  • 最简单的方法可能是将最新的已知状态保存到 UserDefaults(CLAuthorizationStatus 是枚举,因此很容易),然后在再次运行应用程序时,根据当前授权状态检查它。
猜你喜欢
  • 2014-01-07
  • 2016-03-27
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多