2012-04-14 19 views
11

Sto usando NETWORK_PROVIDER per ottenere latitude e longitude del luogo.isProviderEnabled (LocationManager.NETWORK_PROVIDER) restituisce false

I'v già verificare l'impostazione in "posizione & sicurezza" e attivare "Usa reti wireless". Ma "isProviderEnabled(LocationManager.NETWORK_PROVIDER)" restituisce sempre false.

Qualcuno può aiutarmi? Grazie in anticipo!

Ecco il mio codice:

LocationManager locManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE); 
boolean isEnableGPS=locManager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
boolean isEnableNTW=locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 
Log.d(TAG, isEnableGPS+", "+isEnableNTW); 

permesso nel AndroidMainfest.xml

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
+2

si prova su emulatore? Se sì, non funzionerà. – Asdfg

+0

Oh, mi spiace dirlo ... Uso il mio cellulare. – shell

+0

Stesso qui isGPSEnabled = this.myLocationManager.isProviderEnabled (LocationManager.GPS_PROVIDER); Restituisce sempre falso. – Rohit

risposta

12

Assicurarsi che posizione sulla base di rete è abilitata nelle impostazioni del telefono. Puoi rilevare questa situazione e chiedere all'utente di abilitarlo se ne hai davvero bisogno.

Credo che questa sia la riga di codice per avviare questa attività.

activity.startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 

ACTION_LOCATION_SOURCE_SETTINGS

Questo articolo spiega http://emobiledude.com/fix-waiting-for-location-in-google-maps-after-android-4-2-update/

Android 4.0 Location Access Settings

Problemi correlati