FiremonkeyプロジェクトでGPSサービスを有効にすることができますか? ロケーションセンサーで有効にしていません。 GPSが有効になっている場合やネットワークの場所がある場合にのみGPS座標を取得できます。FiremonkeyでAndroid用のGPSサービスを有効にする
他のいくつかのAndroidアプリでは、GPSを有効にするかどうかを尋ねるメッセージが表示されます。同意すると、そのアプリのGPSが有効になります。私もこれをやりたい
GPSサービスがAndroid用に有効になっているかどうかを確認する方法は既に知っていますが、それを有効にする方法はわかりません。以下
コードは、GPSが有効になっているかどうかを確認する方法です:あなたはJavaでそれをプログラムする場合、私は同じことをしようとした
uses
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;
。このリンクのように:https://stackoverflow.com/a/5305835/2728408
procedure TForm1.Button1Click(Sender: TObject);
{$IFDEF ANDROID}
var
Intent: JIntent;
{$ENDIF}
begin
{$IFDEF ANDROID}
Intent := TJIntent.Create;
Intent.addCategory(TJIntent.JavaClass.CATEGORY_ALTERNATIVE);
Intent.setData(TJnet_Uri.JavaClass.parse(StringToJString('3')));
Intent.setClassName(StringToJString('com.android.settings'), StringToJString('com.android.settings.widget.SettingsAppWidgetProvider'));
try
//For Delphi 10 Seattle
TAndroidHelper.Activity.sendBroadcast(Intent);
//For older versions of Delphi
//SharedActivity.sendBroadcast(Intent);
except
on e: exception do
begin
ShowMessage('Error: ' + e.Message);
end;
end;
{$ENDIF}
end;
私のGPSもオンにならない。
更新日: Android 4.0以降のGPSを有効にすると無効になっているようです。
確かに、彼らは唯一の続行するためにユーザーの入力を要求することができるように、この能力をフィルタしません。確かにそれのまわりでハックがなければならない。 –