- 안드로이드 권한(Permissions) 체크 -
안드로이드 6버전 미만에서는 마켓에서 앱을 다운로드 할 때 권한에 대해서 동의할지 여부를 물어 보고 동의 시 다운로드가 진행 되었습니다. 그러나 마시멜로우 버전 이상부터는 앱을 다운로드 받고 나서 권한이 필요한 부분에서 권한을 받아오게 바뀌었습니다.
그리하여 앱개발자들은 마시멜로우 버전부터는 앱권한 체크를 따로 해야하는데 모든 권한을 체크 할 수는 없으니 공식홈페이지에서 보면 Dangerous Permissions들만 권한을 체크 해주면 됩니다.
아래의 권한들이 공식홈페이지에서 정한 권한들입니다.
자 이제 안드로이드 권한 체크하는버에 대해서 코드로 설명 드리겠습니다.
우선 AndroidManifest.xml에 저장공간에 대한 권한을 추가합니다.
↓ 아래의 소스 추가.
1 2 3 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | cs |
그 다음 우선 권한이 있는지 없는지를 체크합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | // 접근권한이 없을때(저장공간) if(PackageManager.PERMISSION_GRANTED != checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { // 최초 권한 요청인지, 혹은 사용자에 의한 재요청인지 확인 if(shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { // 사용자가 임의로 권한을 취소한 경우 // 권한 재요청 Log.i(TAG, "권한 재요청"); requestPermissions(permission, MY_PERMISSIONS_REQUEST_READ_CONTACTS); }else { // 최초로 권한을 요청하는 경우(첫실행) Log.i(TAG, "권한 최초요청"); requestPermissions(permission, MY_PERMISSIONS_REQUEST_READ_CONTACTS); } } else { // 접근권한이 있을때 Log.i(TAG, "접근 허용"); } // 권한체크 //onRequestPermissionsResult는 사용자가 (허용, 거절) 버턴을 눌렀는지 판별하기위해 존재 @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case MY_PERMISSIONS_REQUEST_READ_CONTACTS: // 권한 허용 if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { Log.i(TAG, "권한 허용"); }else { //권한 허용 불가 Log.i(TAG, "권한 거절"); } return; } } | cs |
↓ 안드로이드 웹뷰(webview) shouldOverrideUrlLoadion() 사용법 설명
2018/10/04 - [안드로이드] - 안드로이드 webview shouldOverrideUrlLoading() 사용법
↓안드로이드와 웹 자바사크립트 연동설명
2018/12/18 - [안드로이드] - [안드로이드] 자바스크립트 연동(자바스크립트 브릿지)
설명을 길게 하고자 했으나 위의 코드의 주석을 보시면 어렵지않게 이해하실거 같아 설명은 생략하겠습니다.
[안드로이드] 하이브리드 앱 만들기(hybrid) (1) | 2019.01.28 |
---|---|
[ android ] 안드로이드 상태바, 액션바(status bar, action bar) 없애는 방법 & 예제 (0) | 2019.01.28 |
[안드로이드] 자바스크립트 연동(자바스크립트 브릿지) (0) | 2018.12.18 |
안드로이드 webview shouldOverrideUrlLoading() 사용법 (1) | 2018.10.04 |
[Android] 뒤로가기(Back) 버튼 막기 (0) | 2018.08.17 |