안 드 로 이 드 GPS 포 지 셔 닝

2781 단어 xmlandroidBlogAccess
오늘 하루 종일 GPS 문제 로 멘 붕 이 야!!나중에 다행히 해설 이 상세 한 박문 을 찾 아 갑자기 밝 아 졌 다.원본 주소:http://justsee.iteye.com/blog/657337
 
GPS 값 획득 에 대해 서 는 주로 LocationManager 에 사 용 됩 니 다. 용법 은 다음 과 같 습 니 다.
 
 
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);

 
 주: getSystemService 는 Activity 의 한 방법 입 니 다.Location 업데이트 설정 은 1000 ms 마다 업데이트 되 며 위치 변 화 를 고려 하지 않 습 니 다.마지막 매개 변 수 는 LocationListener 의 인용 입 니 다. 이 종 류 는 다음 과 같 습 니 다.
 
private final LocationListener locationListener = new LocationListener() {

		public void onLocationChanged(Location location) {
                        //      GPS      Location,     !
		}

		public void onProviderDisabled(String provider) {
			// Provider disable      ,  GPS    
			
		}

		public void onProviderEnabled(String provider) {
			//  Provider enable      ,  GPS    
			
		}

		public void onStatusChanged(String provider, int status, Bundle extras) {
			// Provider      、                        
			
		}
		
	};

 
이 설정 을 완료 하면 GPS 를 가 져 오 는 방법:
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
double latitude = location.getLatitude();     //   
double longitude = location.getLongitude(); //   
double altitude =  location.getAltitude();     //   

주: 여기 서 얻 은 GPS 값 은 현재 GPS 에 저 장 된 Location 값 입 니 다. GPS 를 켜 자마자 이 방법 으로 Location 를 찾 으 면 지난번 GPS 를 대 체 했 을 때 얻 은 오래된 값 입 니 다.GPS 가 새 값 을 얻 기 를 기다 리 려 면 LocationListener 에 있 는 onLocationChanged。
 
프로그램 을 실행 하기 전에 AndroidManifest. xml 파일 을 수정 하고 application 에 추가 해 야 합 니 다.
<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_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"/>  

GPS 실행 중지:
locationManager.removeUpdates(locationListener)

GPS 가 시작 되 었 는 지 확인 하기:
 
locationManagemer.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER);
Toast.makeText(this, "Please open GPS!", Toast.LENGTH_SHORT).show();
 

좋은 웹페이지 즐겨찾기