Delphi 10.4 的TLocationSensor 不能使用了?
在Delphi 10.1 中正常使用的TLocationSensor用法,
LocationSensor1.Active:=True;
Label1.Text:=LocationSensor1.Sensor.Latitude.tostring;
在Delphi 10.4 不能使用了。
安装到安卓手机后,显示NAN.
看了Delphi 10.4 的Sample,才找到正确的使用方法:
procedure TLocationForm.swLocationSensorActiveSwitch(Sender: TObject);
const
PermissionAccessFineLocation = ‘android.permission.ACCESS_FINE_LOCATION’;
begin
{$IFDEF ANDROID}
PermissionsService.RequestPermissions([PermissionAccessFineLocation],
procedure(const APermissions: TArray; const AGrantResults: TArray)
begin
if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then
{ activate or deactivate the location sensor }
LocationSensor1.Active := swLocationSensorActive.IsChecked
else
begin
swLocationSensorActive.IsChecked := False;
TDialogService.ShowMessage('Location permission not granted');
end;
end);
{$ELSE}
LocationSensor1.Active := swLocationSensorActive.IsChecked;
{$ENDIF}
end;