我正在使用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
而不是默认的损坏的。