网络提供商在android版本4.0和;空气污染指数14级及以上;在上面

网络提供商在android版本4.0和;空气污染指数14级及以上;在上面,android,Android,在android 4.0及以上版本中,调用 LocationManager.RequestLocationUpdate(LocationManager.NETWORK\u提供程序,0,0,侦听器) 作为例外是什么 原因:java.lang.IllegalArgumentException:provider=网络 即使网络已启用,也会发生相同的异常 我知道这是一个有报道的问题(http://code.google.com/p/android/issues/detail?id=19857) 我的问题

在android 4.0及以上版本中,调用

LocationManager.RequestLocationUpdate(LocationManager.NETWORK\u提供程序,0,0,侦听器)

作为例外是什么

原因:java.lang.IllegalArgumentException:provider=网络

即使网络已启用,也会发生相同的异常

我知道这是一个有报道的问题(http://code.google.com/p/android/issues/detail?id=19857)

我的问题是


如何在android 4.0及以上版本中通过网络提供商或任何其他方法(非GPS)获取位置?

不要使用直接提供商字符串,因为不能保证它在运行时存在

仅使用从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);

android 4.0框架存在一个开放性问题,因此网络提供商不工作,但其已解决的最新android版本已成功工作,请检查最新android框架中的代码

是,此支持在更新版本中提供,您可以查看。

能否提供此问题的链接?