isProviderEnabled(LocationManager.NETWORK_PROVIDER)返回false

时间:2012-04-14 15:47:58

标签: android locationmanager android-location

我正在使用NETWORK_PROVIDER获取该地点的latitudelongitude

我已经检查了“位置和安全”中的设置并启用了“使用无线网络”。但"isProviderEnabled(LocationManager.NETWORK_PROVIDER)"总是返回false

任何人都可以帮助我吗?提前谢谢!

这是我的代码:

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);
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"/>

1 个答案:

答案 0 :(得分:12)

确保在手机设置中启用了基于网络的位置。您可以检测到这种情况,并在您确实需要时提示用户启用它。

我相信这是启动此活动的代码行。

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

ACTION_LOCATION_SOURCE_SETTINGS

本文解释了它http://emobiledude.com/fix-waiting-for-location-in-google-maps-after-android-4-2-update/

Android 4.0 Location Access Settings