permission
안드로이드 23 이상에서의 권한 요청
매니패스트에 선언한 권한목록을 가져올 수 있다.
String[] 의 형태로 받을 수 있다.
try {
String[] permissionList = context
.getPackageManager()
.getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS)
.requestedPermissions;
} catch (PackageManager.NameNotFoundException e) {
//throw new RuntimeException ("Exception", e);
}
권한 목록중 허가되지 않은 권한을 확인하고
public static String[] checkPermissions(Context context, String[] permissionList) {
ArrayList<String> requestList = new ArrayList<>();
for (String aPermission : permissionList) {
int permissionCheck = ContextCompat.checkSelfPermission(context, aPermission);
if (permissionCheck == PackageManager.PERMISSION_DENIED) {
requestList.add(aPermission);
}
}
return requestList.toArray(new String[requestList.size()]);
}
권한 요청을 띄운다
ActivityCompat.requestPermissions(mActivity, String["요청할 권한 목록"], 100);
콜백 메서드에서 권한 요청 후의 처리를 한다.
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
//super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 100) {
/*requestCode : 권한 요청시 보냈던 리퀘스트 코드
permissions : 권한허가 요청 한 권한 리스트
grantResults : 권한 허가 결과 리스트 (permission[0]의 결과 grantResult[0])*/
}
}
}
'탐구영역' 카테고리의 다른 글
[STUDYFORK] 스터디 1주차 노트 (0) | 2019.12.29 |
---|---|
[android] AWS S3 파일 업로드 및 다운로드 (0) | 2019.10.01 |
[android] cursor, query parameter (0) | 2019.09.24 |
[android] 이미지 가져오기 (촬영, 내부저장소, 자르기) (0) | 2019.09.18 |
[android] Realm 사용기 (0) | 2019.09.13 |
댓글