停止位置传感器 Firemonkey XE6 时出错
Error while stopping Location Sensor Firemonkey 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
check in TUIAndroidLocationSensor.DoStop
方法来修复bug。
编译项目时 Delphi 将使用固定的 System.Android.Sensors
而不是默认的损坏的。
我正在使用 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
check in TUIAndroidLocationSensor.DoStop
方法来修复bug。
编译项目时 Delphi 将使用固定的 System.Android.Sensors
而不是默认的损坏的。