firemonkey位置传感器状态不变

时间:2017-09-10 05:30:48

标签: android firemonkey delphi-10.2-tokyo

我的应用程序显示位置long和lat并且运行良好

但是当我必须检测位置传感器状态时 像on,of,working,error,... 它有一些问题

我的想法是这段代码:

  Case LocationSensor1.Sensor.State of
        TSensorState.Added : label5.Text:='2';
        TSensorState.Removed : label5.Text:='3';
        TSensorState.Initializing : label5.Text:='4';
        TSensorState.Ready : label5.Text:='ready';
        TSensorState.NoData : label5.Text:='6';
        TSensorState.AccessDenied : label5.Text:='7';
        TSensorState.Error : label5.Text:='8';
        else label5.Text:='error';
  End;

但是当我打开或关闭gps时,每次都是ready

如何检测并显示gps传感器状态?

1 个答案:

答案 0 :(得分:0)

您必须创建一个扩展LocationListener类的类。我们会通过两个回调函数通知您GPS状态的变化:onProviderEnabled,在启用GPS时会调用,onProviderDisabled在禁用时。{/ p>

要注册您的听众,请使用((LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE)).requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, myLocationListener);