android | Manifest.permission. 권한설정
페이지 정보
작성자 굿스웹 작성일20-01-09 14:06 조회646회 댓글0건관련링크
본문
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION);
if(permissionCheck== PackageManager.PERMISSION_DENIED){
// 권한 없음
Toast.makeText(getApplicationContext(), "권한이 필요합니다.", Toast.LENGTH_SHORT).show();
checkPermission();
}else{
}
private void checkPermission(){
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) {
new AlertDialog.Builder(this)
.setTitle("알림")
.setMessage("위치기반 권한이 필요합니다.\n(설정) 클릭하고 해당 권한을 직접 허용하셔야 합니다.")
.setNeutralButton("설정", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
}
})
.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
finish();
}
})
.setCancelable(false)
.create()
.show();
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSION_STORAGE);
}
}
}
@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;
}
}
if(permissionCheck== PackageManager.PERMISSION_DENIED){
// 권한 없음
Toast.makeText(getApplicationContext(), "권한이 필요합니다.", Toast.LENGTH_SHORT).show();
checkPermission();
}else{
}
private void checkPermission(){
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) {
new AlertDialog.Builder(this)
.setTitle("알림")
.setMessage("위치기반 권한이 필요합니다.\n(설정) 클릭하고 해당 권한을 직접 허용하셔야 합니다.")
.setNeutralButton("설정", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
}
})
.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
finish();
}
})
.setCancelable(false)
.create()
.show();
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSION_STORAGE);
}
}
}
@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=D41MbJRY
SNS 알리기
핀터레스트
텔레그램로
블로그로
페이스북
트위터
카카오스토리
카톡 공유
관련 블로그
로딩중