简体   繁体   中英

in android, GPS_PROVIDER works, but NETWORK_PROVIDER does not

I am building an android application.

I can get GPS coordinates fine using

 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

But when I try to use the network provider (editing the line, not doing two registers)

 locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0,0,locationListener);

I get no coordinates.

I am checking if I have coordinates doing a println(location.toString()) inside the locationListener.

Both GPS and WIFI location are enabled on the device (and, as far as I can tell, other applications manage to use WIFI location)

Am I missing something? Is there a special procedure to use NETWORK_PROVIDER ? (I have only "fine location" permissions, but the docs explicitly say this also allows "coarse location")

gps –> (GPS, AGPS): Name of the GPS location provider. This provider determines location using satellites. Depending on conditions, this provider may take a while to return a location fix. Requires the permission android.permission.ACCESS_FINE_LOCATION.

network –> (AGPS, CellID, WiFi MACID): Name of the network location provider. This provider determines location based on availability of cell tower and WiFi access points. Results are retrieved by means of a network lookup. Requires either of the permissions android.permission.ACCESS_COARSE_LOCATION or android.permission.ACCESS_FINE_LOCATION.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM