반응형
아래와 같은 안드로이드 Error
java.lang.SecurityException: kr.co.kwon was not granted this permission: android.permission.WRITE_SETTINGS
에러를 읽어보면 WRITE_SETTINGS 퍼미션이 없다고 한다. 그래서 아래 퍼미션을 준뒤
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
ContextCompat.checkSelfPermission 을 이용하여 WRITE_SETTINGS 셋팅에 대한
퍼미션 체크를 물어도똑같다. 이 SecurityException 은 Settings.System.canWrite(this) 를
이용하여 처리하여야 한다.( canWrite이 없는 경우가 있다. 그땐 targetSdkVersion을 최상으로 올려주시면 됩니다. 25부터인가? 함수가 보일것입니다.)
아래와 같은 로직이라면 된다.
public boolean checkSystemPermission() { boolean permission = true; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { //23버전 이상 permission = Settings.System.canWrite(this); Log.d("test", "Can Write Settings: " + permission); if(permission){ Log.e("test", "허용"); }else{ Log.e("test", "불허용"); Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS); intent.setData(Uri.parse("package:" + getPackageName())); startActivityForResult(intent, 2127); permission = false; } } else { } return permission; }
반응형
'프로그램 > Android' 카테고리의 다른 글
네이버맵 API 사용하기(2.좌표찍기, 마커찍기) (0) | 2017.08.29 |
---|---|
네이버맵 API 사용하기(1.네이버앱 등록 및 기본 맵 띄우기) (0) | 2017.08.29 |
APK에서 개인정보처리 방침이 필요한 권한을 사용합니다. (0) | 2017.08.28 |
Webview File Open (0) | 2017.08.28 |
안드로이드 mp3파일 전화벨소리 지정 (0) | 2017.08.28 |