PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 24 → WINDEV MOBILE - Verifica GPS Ligado e Posicao
WINDEV MOBILE - Verifica GPS Ligado e Posicao
Débuté par adrianoboller, 14 fév. 2015 16:04 - 11 réponses
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 16:04
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 )
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 16:06
//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);
}
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 16:06
//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);
}
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 17:00
OBS.: É necessário ativar essas opções no Android Manifest XML do Windev Mobile:

A) Android.Permission.WRITE_SECURE_SETTINGS

B) Android.Permission.WRITE_SETTINGS



Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 17:08
OBS.: Caso não marque as opções acima ocorrerá um erro como esse abaixo descrito:



Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 17:30
Outra maneira de testar se esta desligado o 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)



//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

-----
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 18:03
OBS.: Com o código java no projeto Android é possivel desligar e ligar o GPS via codigo ao abrir o aplicativo colocando GPS_ON() e desligar ao sair colocando no embed de codigo close window GPS_OFF() ou em botoes na tela. Lembrando que é necessário atribuir no AndroidManifest.Xml a permissão de escrita nas configurações do sistema. No Wizard na ultima tela antes de concluir mande re-escrever o AndroidManifest.Xml caso tenha dado algum erro.

Sendo assim finalizo esse post, aguardo por sugestões de melhoria e comentarios se conseguiram testar os 3 exemplos acima.

Ótimos estudos da plataforma PcSoft a todos!
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 18:37
Conforme me pediram segue a localização da Tela onde fica o AndroidManifest.XML
Seria a penúltima tela do Wizard de Compilação do projeto Android

Botão: Avanced Configuration



Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 18:38
Botão: Edit Manifest



Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 18:39
Botão: Reinicialize



Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 14 février 2015 - 18:41
AndroidManifest.Xml Atualizado, só complilar que a função GPS_On() e GPS_Off() está funcionando!!!!!



Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 11 juin 2015 - 22:57
:merci: