停止位置传感器Firemonkey XE6时出错

时间:2015-01-22 16:30:06

标签: android location components firemonkey delphi-xe6

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

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

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

我该如何解决这个问题?

修改 这个问题在Firemonkey XE8上得到了解决。

1 个答案:

答案 0 :(得分:0)

由于修复此错误只涉及修改implementation System.Android.Sensors部分中的代码,因此您可以自行修复代码。

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

编译项目时,Delphi将使用固定的System.Android.Sensors而不是默认的破解版。