반응형
안드로이드 앱 자체적으로 좌표를 가져오는 방법입니다.
요즘같은 경우 권한이 있어야 하므로 작업하실때 권한에 대하여 많은 주의를 하셔야 할것입니다.
StartLocation()을 사용하기 이전에 권한에 대한 체크를 해주시고 AndroidManifest.xml에 아래와 같은 권한을 넣어야 합니다.
private void StartLocation(){ if(mLocationManager != null){ isGPSEnable = mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); isNetworkEnable = mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); Log.e(TAG, "isGPSEnable : " + isGPSEnable); Log.e(TAG, "isNetworkEnable : " + isNetworkEnable); locationListener = new LocationListener() { @Override public void onLocationChanged(Location location) { double lat = location.getLatitude(); double lng = location.getLongitude(); Toast.makeText(mContext, "위도 : " + lat + " 경도 : " + lng, Toast.LENGTH_SHORT).show(); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { Log.e(TAG, "onStatusChanged : "); } @Override public void onProviderEnabled(String provider) { Log.e(TAG, "onProviderEnabled : "); } @Override public void onProviderDisabled(String provider) { Log.e(TAG, "onProviderDisabled : "); } }; //아래 코드를 실행시키기 위해서 임의적으로 한번 더 권한 체크를 하여야함. 그렇지 않으면 error if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { return; } if(isGPSEnable && isNetworkEnable){ //시스템 위치마저 허용되어있을경우 mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 100, locationListener); mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 100, 100, locationListener); }else{ //시스템 위치 셋팅으로 넘겨야함 Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivityForResult(intent, systemLocationPermission); } } }
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
반응형
'프로그램 > Android' 카테고리의 다른 글
안드로이드 실행중인 서비스 체크[Android Service Running Check] (0) | 2017.09.06 |
---|---|
안드로이드 웹뷰 셋팅[Webview Setting] (0) | 2017.09.06 |
안드로이드 플레이스토어 버전체크(업데이트 체크) (1) | 2017.09.05 |
KAKAO Developers 안드로이드 애플리케이션 만들기[캐 해시 등록] (0) | 2017.09.01 |
안드로이드 앱배포(2.구글 스토어 배포) (0) | 2017.08.29 |