android | 위치 액세스 권한 부여 요청 및 받기
페이지 정보
작성자 굿스웹 작성일20-01-08 18:17 조회939회 댓글0건관련링크
본문
안드로이드 5.x 이상버전엔 권한부여 확인하여 부여 받을수 있다.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
원하는 권한 옵션 선택하여 앱 실행시 요청한다.
//권한이 부여되어 있는지 확인
int permissonCheck= ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
if(permissonCheck == PackageManager.PERMISSION_GRANTED){
}else{
Toast.makeText(getApplicationContext(), "저장공간 액세스권한 없음", Toast.LENGTH_SHORT).show();
if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)){
Toast.makeText(getApplicationContext(), "저장공간 액세스권한이 필요합니다", Toast.LENGTH_SHORT).show();
ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSIONS_REQUEST_RESULT);
}else{
ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSIONS_REQUEST_RESULT);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int grantResults[]){
switch(requestCode){
case PERMISSIONS_REQUEST_RESULT :
if(grantResults.length>0 && grantResults[0]== PackageManager.PERMISSION_GRANTED){
Toast.makeText(getApplicationContext(), "저장공간 액세스권한 승인함", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "저장공간 액세스권한 거부함", Toast.LENGTH_SHORT).show();
}
break;
}
}
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
원하는 권한 옵션 선택하여 앱 실행시 요청한다.
//권한이 부여되어 있는지 확인
int permissonCheck= ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
if(permissonCheck == PackageManager.PERMISSION_GRANTED){
}else{
Toast.makeText(getApplicationContext(), "저장공간 액세스권한 없음", Toast.LENGTH_SHORT).show();
if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)){
Toast.makeText(getApplicationContext(), "저장공간 액세스권한이 필요합니다", Toast.LENGTH_SHORT).show();
ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSIONS_REQUEST_RESULT);
}else{
ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSIONS_REQUEST_RESULT);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int grantResults[]){
switch(requestCode){
case PERMISSIONS_REQUEST_RESULT :
if(grantResults.length>0 && grantResults[0]== PackageManager.PERMISSION_GRANTED){
Toast.makeText(getApplicationContext(), "저장공간 액세스권한 승인함", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "저장공간 액세스권한 거부함", Toast.LENGTH_SHORT).show();
}
break;
}
}
[주소복사] https://www.goodsweb.kr/?u=D41HXXRZ
SNS 알리기
핀터레스트
텔레그램로
블로그로
페이스북
트위터
카카오스토리
카톡 공유
관련 블로그
로딩중