ios LocationSensor 后台运行

设置好,LocationSensor.active := true。

当按home键或黑屏后,程序将立马挂起。LocationSensorLocationChanged事件也不会响应。

有人说要两三秒才挂起,到我这却是立马,不知为啥。

在网上知道的解决方案:http://www.fmxexpress.com/learn-to-use-the-location-sensor-in-the-background-with-firemonkey-in-delphi-10-berlin-on-ios/

经测试后,发现它并不能完全做到后台一直运行。一般运行十来分钟就停止了。

具体解决方案:在上述网址基础(FLocater.setAllowsBackgroundLocationUpdates(True);)上,还需要加上

FLocater.setPausesLocationUpdatesAutomatically(False);

也就是

if TOSVersion.Check(9) and (FLocater <> nil) then

  begin
    {$IF Defined(BACKGROUNDUPDATES) and Defined(CPUARM64)} // for some reason, this function crashes in 32-bit
    FLocater.requestAlwaysAuthorization;
    FLocater.setAllowsBackgroundLocationUpdates(True);
    FLocater.setPausesLocationUpdatesAutomatically(False);
    {$ENDIF}
  end;

 

转载于:https://www.cnblogs.com/dannylee/p/7149941.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值