在android 4.0&在呼叫
之上LocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,listener)
将异常视为
引起:java.lang.IllegalArgumentException:provider = network。
即使启用了网络,也会发生同样的异常。
我知道这是一个已报告的问题(http://code.google.com/p/android/issues/detail?id=19857)。
我的问题是。
如何通过网络提供商或Android 4.0中的任何其他方法(不是GPS)获取位置以上?
答案 0 :(得分:1)
Android 4.0框架有一个开放的问题,所以网络提供商不能正常工作,但最新的Android版本已经解决并成功运行,请在最新的android框架中检查你的代码。
答案 1 :(得分:0)
不要使用直接提供程序字符串,因为不能保证它在运行时存在。
仅使用从LocationManager获得的提供程序,如下所示:
LocationManager locationManager = (LocationManager)context.getSystemService( Context.LOCATION_SERVICE );
Criteria criteria = new Criteria();
criteria.setAccuracy( Criteria.ACCURACY_COARSE );
String provider = locationManager.getBestProvider( criteria, true );
if ( provider == null ) {
Log.e( TAG, "No location provider found!" );
return;
}
lastLocation = locationManager.getLastKnownLocation(provider);
答案 2 :(得分:0)
是的,此支持适用于您可以查看的较新版本..