안드로이드 권한 설정하기 check DangerousPermissions
점점 안드로이드 어플리케이션의 보안이 중요시되고 있으면서
권한. 즉, SD카드읽기-쓰기, 카메라, 오디오 녹음 등 권한을 처음에 얻고 사용하게 되었다.
이때, 권한을 체크하고 사용하게 하는 방법에 대해 살펴보겠다.
우선,
<AndroidManifest.xml> 파일에서 다음 밑줄 부분을 추가한다.
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".PlanInsertActivity"></activity>
</application>
필요한 권한을 여기에 작성 후,
메인에서 이런식으로 권한을 확인하고 얻는 메소드를 정의하여 사용할 수 있게 한다.
<main>
private void checkDangerousPermissions() {
String[] permissions = {
android.Manifest.permission.READ_EXTERNAL_STORAGE,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
android.Manifest.permission.CAMERA,
android.Manifest.permission.RECORD_AUDIO
};
int permissionCheck = PackageManager.PERMISSION_GRANTED;
for (int i = 0; i < permissions.length; i++) {
permissionCheck = ContextCompat.checkSelfPermission(this, permissions[i]);
if (permissionCheck == PackageManager.PERMISSION_DENIED) {
break;
}
}
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "권한 있음", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "권한 없음", Toast.LENGTH_LONG).show();
if (ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[0])) {
Toast.makeText(this, "권한 설명 필요함.", Toast.LENGTH_LONG).show();
} else {
ActivityCompat.requestPermissions(this, permissions, 1);
}
}
}
----
이거 때문에 db path에 관한 알지못하는 오류가 발생해서...
ㅠㅠㅠ 어제 10시간 넘게 해메고 찾았다...흑흑.. ㅠㅠㅠ
'공부하기 > Android' 카테고리의 다른 글
안드로이드. 자식 액티비티 닫을 때, 부모 액티비티도 같이 닫기How to finish parent activity from child activity (0) | 2019.04.04 |
---|---|
android 안드로이드 DatePickerDialog 날짜 지정하기 제한하기. (setMinDate setMaxDate) (0) | 2019.04.04 |
안드로이드 ListView 섹션 구분하기 (Using a different View for Separator) 영어주의 (0) | 2019.04.04 |
안드로이드 Android - UI/레이아웃/패턴/디자인/라이브러리 오픈소스 링크 모음 (0) | 2019.04.04 |
안드로이드 텍스트뷰 글자 색 바꾸기 (0) | 2019.04.04 |