일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring sql injection 방지
- 운영체제 자원관리
- android 타이머
- 운영체제 커널모드
- ec2 scp 파일 전송
- OS 자원관리
- 운영체제 멀티 프로그래밍
- spring exceptionHandler reposnse stackTrace
- spring responseEntity response stackTrace
- spring 동적 쿼리 주의사항
- spring exception stackTrace remove
- spring dynamic query sql injection
- IT 직무 변경
- 운영체제 다중모드
- Android Timer
- spring paging sort sql injection
- 운영체제 작동방식
- spring sql injection
- 운영체제 개념
- spring exceptionHandler response cause
- IT 포지션 변경
- spring exception cause remove
- 백엔드 포지션 변경
- 개발 직무 변경
- 백엔드 직무 변경
- 운영체제 멀티 태스킹
- aws ec2 scp 파일 전송
- 운영체제 공룡책
- spring responseEntity response cause
- 개발 포지션 변경
- Today
- Total
오늘도 삽질중
[안드로이드/Android] 6.0 이상 권한체크 및 부여하기 본문
안드로이드 6.0(마시멜로우) 이상부터는 manifast에 권한을 주는것 외에도 사용자에게 직접 권한을 받아야 합니다.
그래서 사진이나 갤러리 접근시에 권한을 부여 받아야만 실행이 가능하게 되는데요.
매번 권한을 요청받아야 할때마다 코드를 치는것이 매우 귀찮아서 별도의 권한 클래스를 만들고 필요할때 요청해서 사용해 보도록 하겠습니다.
public class Permission_Check extends AppCompatActivity {
public String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE ,
Manifest.permission.WRITE_EXTERNAL_STORAGE ,
Manifest.permission.CAMERA ,
Manifest.permission.RECORD_AUDIO}; //필요한 권한을 여기다 추가해주시면 됩니다.
public boolean CheckPermission(Context context , Activity activity){
int result;
List<String> permissionList = new ArrayList<>();
for (String pm : permissions) {
result = ContextCompat.checkSelfPermission(context, pm);
if (result != PackageManager.PERMISSION_GRANTED) { //사용자가 해당 권한을 가지고 있지 않을 경우 리스트에 해당 권한명 추가
permissionList.add(pm);
}
}
if (!permissionList.isEmpty()) { //리스트에 추가가 되면 권한이 없는것이므로 , 요청을 진행합니다.
ActivityCompat.requestPermissions(activity, permissionList.toArray(new String[permissionList.size()]), MULTIPLE_PERMISSIONS);
return false;
}
return true;
}
}
이렇게 권한클래스를 별도로 만들어주고 다른 클래스에서 사용하려면
public class MainActivity extends AppCompatActivity {
private Permission_Check permission_check;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
permission_check = new Permission_Check();
permission_check.CheckPermission(getApplicationContext(),this);
}
}
클래스 객체를 선언하고 클래스에 내장된 메소드인 CheckPermission() 을 호출해 주시면 됩니다.
'안드로이드' 카테고리의 다른 글
[android] oreo notification 간단 예제 (4) | 2018.08.30 |
---|---|
[android] 특수문자 \ 제거하기 (0) | 2018.08.10 |
[android] 간단한 그림판 만들기 + onDraw 위에 버튼 인식시키기 (1) | 2018.07.05 |
[android] ScrollView 안에 있는 RecyclerView 스크롤 막기 (0) | 2018.07.04 |
android Null Check (0) | 2018.06.17 |