Como detectar se o aparelho possui gps via código?

0 respostas
B
Olá galera, esse é meu primeiro post de muitos no fórum. Bom, eu estou com uma dúvida no desenvolvimento de um sistema e gostaria de pedir a ajuda de vocês que são feras no assunto.

O problema é o seguinte: como identificar se o celular android possui um receptor gps via código? eu encontrei alguns códigos na internet que não funcionam 100% no emulador, são eles:

public boolean isGpsAvailable() {

PackageManager pm = this.getPackageManager();

if (pm.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS)) {

return true;

} else {

return false;

}

}

este retorna sempre true no emulador, mesmo desativando o gps.

public boolean hasGPSDevice(Context context)

{

final LocationManager mgr = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);

if ( mgr == null ) return false;

final List providers = mgr.getAllProviders();

if ( providers == null ) return false;

return providers.contains(LocationManager.GPS_PROVIDER);

}

esse trava e reinicia o emulador quando o gps está desativado.

Eu estive pensando que seria mais fácil verificar se o Objeto Location permanece nulo, se sim é pq o gps não está funcionando corretamente.
Alguém já passou por isso?
Agradeço desde já!

Criado 12 de janeiro de 2013
Respostas 0
Participantes 1