停止位置传感器火猴XE6时出错



我正在使用TLocationSensor来获取纬度和经度值。我的 GPS 未启用,我正在使用网络位置。

使用事件onLocationChanged保存值并将属性Active设置为 False,但发生错误。

调试 我在单元System.Android.Sensors内发现,在过程 TUIAndroidLocationSensor.DoStop 中,删除侦听器的行不会验证GPSListener是否为 nil,并抛出关闭我的应用程序的异常。当我针对 32 位 Windows 平台进行编译时,只需针对 Android 平台进行编译时,不会出现此问题。

如何解决这个问题?

编辑:这个问题在Firemonkey XE8上得到了解决。

由于

修复此错误仅涉及修改System.Android.Sensors implementation部分中的代码,因此您可以自己轻松修复代码。

System.Android.Sensors.pas复制到项目文件夹中,并将其添加到项目中。然后添加nil签入TUIAndroidLocationSensor.DoStop方法来修复错误。

当你编译你的项目时,Delphi将使用你的固定System.Android.Sensors而不是默认的损坏的。

最新更新