Consentire l'inserimento dell'applicazione solo se almeno un provider di posizione è abilitato in Android

StackOverflow https://stackoverflow.com/questions/9493874

Domanda

Nella mia applicazione l'utente deve avere almeno un fornitore di posizione abilitato.Per sapere se uno è abilitato, uso:

isGpsLocationEnabled = ((LocationManager) getSystemService(LOCATION_SERVICE))
                .isProviderEnabled(LocationManager.GPS_PROVIDER);
isNetworkLocationEnabled = ((LocationManager) getSystemService(LOCATION_SERVICE))
                .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
.

Ora, ho creato un'attività che avvisa che nessuno è abilitato e se l'utente seleziona "Abilita GPS" Apri le opzioni GPS con Action_Lation_source_Settings Intent.

Voglio (dopo la selezione dell'utente) per verificare se ne ha permesso uno, e lascialo solo continuare se lo ha fatto.

Ho questo codice nel pulsante "Abilita GPS"

showGpsOptions();
isGpsLocationEnabled = ((LocationManager) getSystemService(LOCATION_SERVICE))
                    .isProviderEnabled(LocationManager.GPS_PROVIDER);
isNetworkLocationEnabled = ((LocationManager) getSystemService(LOCATION_SERVICE))
                    .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (isGpsLocationEnabled || isNetworkLocationEnabled){
    Intent startIntent = new Intent(EnableLocationProviderActivity.this, SensingService.class);
    startService(startIntent);
} else {
    finish();
}
.

Il mio problema è che ISGPSLoonnedNablebled e ISNetworkLoon Meditable Fabled non vengono mai aggiornati con la selezione dell'utente nelle impostazioni di rete in quanto il codice continua la sua esecuzione dopo showgpsoptions () (so che non può bloccare la filettatura UI, ma come posso superare questa situazione) ??

C'è comunque per eseguire il codice dopo che l'utente seleziona qualcosa nelle impostazioni di rete?

Grazie!Guillermo.

È stato utile?

Soluzione

Quando Schermata Impostazioni Viene davanti al tuo activity, logicamente e ACC a Docs, il activity è paused e quindi quando è richiesto il activity è resumed ... Quindi immagino, dovresti usareIl codice di controllo in onResume ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top