Android

안드로이드(Android) 앱 권한 화면으로 이동시키는 방법

휴대폰 운영체제가 마시멜로 이상 버전(안드로이드 6.0 MarshMellow)의 일 경우(@TargetApi(Build.VERSION_CODES.M)) 사용자에게 권한을 요청하기 위해  권한 허용을 위한 팝업창을 노출한다.

하지만 사용자가 “다시 보지 않기”를 체크 할 경우 권한 팝업창을 띄울 수 없다.

앱 권한 화면으로 이동시키는 방법

한 가지 방법으로 개발자는 앱 정보 화면까지는 이동시킬 수 있다.

Settings.ACTION_APPLICATION_DETAILS_SETTINGS를 사용하면 된다.

하지만 앱 권한 설정 화면으로는 직접 이동 시킬 수는 없다.

앱 권한 화면까지 접근은 불가능하다.

왜냐하면 개발자의 악용을 막기 위해 운영체제 레벨에서 막혀있다.

즉 휴대폰 제조사만 가능하다는 얘기다.

private void showDialogGuideForPermissionSettingGuide() {

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle(“알림”);
builder.setMessage(“권한을 허용해주세요.”);
builder.setPositiveButton(“예”, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent appDetail = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse(“package:” + getPackageName()));
appDetail.addCategory(Intent.CATEGORY_DEFAULT);
appDetail.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(appDetail);
}
});
builder.setNegativeButton(“아니오”, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
builder.create().show();
}

TedPermission 는 되는지 모르겠다.

https://github.com/ParkSangGwon/TedPermission

Leave a Reply

error: Content is protected !!