如何确定firemonkey应用程序中的位置服务是否打开/关闭?
我知道这篇文章:How to check if network is available on Android (Delphi XE5)。我不确定这是否有助于我检测位置服务是打开还是关闭。
如何确定firemonkey应用程序中的位置服务是否打开/关闭?
我知道这篇文章:How to check if network is available on Android (Delphi XE5)。我不确定这是否有助于我检测位置服务是打开还是关闭。
要确定定位服务是否开启/关闭,您必须检查 GPS 和网络定位服务是否已激活,为此您必须使用类的isProviderEnabled
方法LocationManager
,在 Delphi 中,该类是在Androidapi.JNI.Location
单元中定义的。
检查这个样本
uses
Androidapi.Helpers,
Androidapi.JNI.Location,
Androidapi.JNIBridge,
FMX.Helpers.Android,
Androidapi.JNI.GraphicsContentViewText;
{$R *.fmx}
procedure TForm1.Button1Click(Sender: TObject);
var
locationManager : JLocationManager;
begin
locationManager := TJLocationManager.Wrap(
((SharedActivity.getSystemService(TJContext.JavaClass.LOCATION_SERVICE))
as ILocalObject).GetObjectID);
if locationManager.isProviderEnabled(TJLocationManager.JavaClass.GPS_PROVIDER) then
; //do something
if locationManager.isProviderEnabled(TJLocationManager.JavaClass.NETWORK_PROVIDER) then
; //do something else
end;