如何获得准确的位置提供者

时间:2013-07-14 10:24:23

标签: android gps location

当我在手机中使用下面的代码时,它总是选择网络来获取经度和纬度,即使Wi-Fi关闭也没有选择GPS。我希望应用程序选择最佳,运行,准确的位置提供程序。

   LocationManager LM1=(LocationManager) getSystemService(Context.LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider=LM1.getBestProvider(criteria, true);
    LM1.requestLocationUpdates(provider,500,1,this);
    ET3.setText(provider);

使用的权限是:

   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>    
   <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
   <uses-permission android:name="android.permission.INTERNET" />
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
   <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
   <uses-permission android:name="android.permission.ACCESS_LOCATION" />
   <uses-permission android:name="android.permission.ACCESS_GPS" />
   <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

1 个答案:

答案 0 :(得分:1)

如果您想要最准确,请检查GPS是否已启用。如果是,请使用它。如果没有,请使用网络。向getBestProvider发送空白条件永远不会让您使用GPS-它会假设您不需要那么准确。