http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/9-windev-mobile-verifica-gps-ligado-posicao/read.awp
---x---
Example 01:
#####################################################
Procedure GPS_VerificaStatus()
Retorno is string = ""
GloLatitude , GloLongitude is real = 0
GPSInitParameter(gpsSatellite,gpsPrecisionHigh)
// Recuperação da posição
Retorno is geoPosition = GPSGetPosition() // 2000 = Intervalo máxo,p de 20 segundos
GloLatitude = NumToString(Retorno..Latitude,"+-10.6f")
GloLongitude = NumToString(Retorno..Longitude,"+-10.6f")
Retorno = GloLatitude +"; "+ GloLongitude
IF GloLatitude = 0 AND GloLongitude = 0 OR GloLatitude = null AND GloLongitude = null
ToastDisplay("GPS Desligado!!!")
END
RESULT(Retorno )
---x---
Example 02:
#####################################################
//Java GPS_On
import android.app.Activity;
import java.lang.*;
import android.util.*;
import java.lang.Exception;
import android.util.Log;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
PUBLIC static void GPS_On()
{
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", True);
getActiviteEnCours().sendBroadcast(intent);
}
---x---
//Java GPS_Off
import android.app.Activity;
import java.lang.*;
import android.util.*;
import java.lang.Exception;
import android.util.Log;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
PUBLIC static void GPS_Off()
{
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", False);
getActiviteEnCours().sendBroadcast(intent);
}
---x---
OBS.:
You must enable these options in the Android Manifest XML Windev Mobile
A) Android.Permission.WRITE_SECURE_SETTINGS
B) Android.Permission.WRITE_SETTINGS
---x---
Example 03
#####################################################
Another way to test whether this off GPS:
// GLOBAL
GloGpsAtivado is boolean = False
//Open Window
Procedure GPS_Inicializar()
GPSInitParameter(gpsSatellite,gpsPrecisionHigh +gpsSpeed)
IF GPSStatus() <> gpsEnabled THEN
Popup("Para melhorar a precisão da sua localização, ative o seu GPS","L")
gloStatusGps = False
ELSE
ChangeGPSStatus(GPSStatus())
END
GPSStatus(ChangeGPSStatus)
---x---
//Procedure Global
Procedure ChangeGPSStatus(nStatus)
IF gnCurrentStatus = nStatus THEN
RETURN
END
gnCurrentStatus = nStatus
IF nStatus = gpsEnabled OR nStatus = gpsAvailable THEN
GPSFollowMovement(GetPosition,300)
END
SWITCH nStatus
CASE gpsEnabled
GloGpsAtivado = True // <------------- Ligado
CASE gpsDisabled
GloGpsAtivado = False // <------------- Desligado
gloStatusGps = False
CASE gpsOffService
CASE gpsUnavailable
CASE gpsAvailable
END