2012-07-21 94 views
0

我想构建一个应用程序,该应用程序将使用cellular NetworkWiFi提供当前位置。Android:通过蜂窝网络和WiFi进行位置检测

我喜欢从两个提供商同时获得位置,然后决定哪个提供商给我最好的。

现在我从网络

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
LocationListener locationlistenerforNetwork = new mylocationlistenerNetwork(); 
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationlistenerforNetwork); 

private class mylocationlistenerNetwork implements LocationListener { 
     @Override 
     public void onLocationChanged(Location location) { 
      if (location != null) { 
      Log.d("LOCATION CHANGED", location.getLatitude() + " "); 
      Log.d("LOCATION CHANGED", location.getLongitude() + " "); 
      Toast.makeText(LocationActivity.this,"latitude: "+ 
       location.getLatitude() + "longitude: " + location.getLongitude() 
       + " Provider:" + location.getProvider() + " Accuracy:" + location.getAccuracy(), 
       Toast.LENGTH_LONG).show(); 

      } 
     } 
     @Override 
     public void onProviderDisabled(String provider) { 
     } 
     @Override 
     public void onProviderEnabled(String provider) { 
     } 
     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) {} 
     } 

越来越位置我也想从WiFi位置。请帮忙。

回答

1

LocationManager

有这些供应商:

从文档:

public static final String NETWORK_PROVIDER

网络位置提供程序的名称。该提供商根据蜂窝塔和WiFi接入点的可用性确定 位置。 通过网络查找检索结果。需要 权限android.permission.ACCESS_COARSE_LOCATION或 android.permission.ACCESS_FINE_LOCATION。

没有单独的WiFi提供商。使用NETWORK_PROVIDER您正在确定位置也基于WiFi接入点。

相关问题