我有一个运行Kitkat 4.4.4的TI OMAP平台。该平台没有Wifi / GPS /蜂窝连接,但它有以太网。我使用eth1访问互联网。
无论如何都要根据eth1确定设备的粗略地理位置。我尝试了下面的示例代码,但是以太网连接失败了。
/** Check if we can get our location */
public void checkLocation(){
// Get the location manager
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String locationProvider = LocationManager.NETWORK_PROVIDER;
try{
// Define a listener that responds to location updates
locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
Log.d(TAG,"Latitude: " + location.getLatitude() + ", Longitude = " + location.getLongitude());
}
public void onStatusChanged(String provider, int status, Bundle extras) {Log.d(TAG,"location found 1");}
public void onProviderEnabled(String provider) {Log.d(TAG,"location found 2");}
public void onProviderDisabled(String provider) {Log.d(TAG,"location found 3");}
};
locationManager.requestLocationUpdates(locationProvider, 0, 0, locationListener);
}catch(Exception e){
Log.e(TAG, "Location Exception: " + e.getMessage());
}
}
上面的代码抛出了以太网的provider doesn't exist: network
异常。在带有wifi / GPS的设备上正常工作。
我还在清单文件中设置了以下权限。
<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" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
如果设备具有以太网连接,如何确定位置的任何想法?
由于
答案 0 :(得分:2)
您可以使用
locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
和
locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
检查您的网络或gps的可用性。如果这两个对您返回false,那么您可能无法使用locationManager来查找位置。