2013-10-21 66 views

回答

4

要确定位置服务是开/关,则必须检查GPS和网络定位服务被激活,为此,你必须使用LocationManager类的isProviderEnabled方法,在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;