0
Kitkat 4.4.4를 실행하는 TI OMAP 플랫폼이 있습니다. 플랫폼에는 Wi-Fi/GPS/셀룰러 연결이 없지만 이더넷이 있습니다. eth1을 사용하여 인터넷에 액세스합니다.이더넷에서 Android 장치 위치
어쨌든 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
예외를 throw합니다. Wi-Fi/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" />
이더넷 연결을 사용하는 경우 위치를 결정하는 방법에 대한 아이디어가 있으십니까? 당신은 당신의 네트워크 또는 GPS의 사용 가능 여부를 확인하기 위해
locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
및
locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
을 사용할 수 있습니다
감사