투케이2K

67. (AndroidStudio/android/java) tedpermission (테드 퍼미션) 라이브러리 사용해서 다중 퍼미션 요청 받기 실시 본문

Android

67. (AndroidStudio/android/java) tedpermission (테드 퍼미션) 라이브러리 사용해서 다중 퍼미션 요청 받기 실시

투케이2K 2021. 2. 26. 20:09
반응형

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

 

//======== [build.gradle(Module:app)] ========
implementation 'gun0912.ted:tedpermission:2.2.2'



//======== [AndroidManifest.xml] ========
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>



//======== [java] ========
private void permissionCheck() {
	try {
		Log.d("---","---");
		Log.d("//===========//","================================================");
		Log.d("//A_Main//","[permissionCheck() 메소드]"+" ["+"실행 : 전체 퍼미션 부여 확인 실행"+"]");
		Log.d("//===========//","================================================");
		Log.d("---","---");
		TedPermission.with(A_Main.this)
				.setPermissionListener(permissionlistener) //퍼미션이 부여되었는지 확인 메소드 호출
				.setDeniedMessage("권한에 대한 허가를 거부하면 동의 모바일을 사용할 수 없습니다.\n" +
						"\n" + "[설정]> [권한]에서 권한을 켜십시오.")
				.setPermissions(						
						Manifest.permission.ACCESS_COARSE_LOCATION,
						Manifest.permission.ACCESS_FINE_LOCATION,
						Manifest.permission.WRITE_EXTERNAL_STORAGE,
						Manifest.permission.CAMERA,
						Manifest.permission.READ_EXTERNAL_STORAGE)
				.check();
	}
	catch (Exception e){
		e.printStackTrace();
	}
}
//퍼미션이 부여되었는지 확인 메소드
private PermissionListener permissionlistener = new PermissionListener() {
	@Override
	public void onPermissionGranted() {
		Log.d("---","---");
		Log.w("//===========//","================================================");
		Log.d("//A_Main//","[onPermissionGranted() 메소드]"+" ["+"실행 : 전체 퍼미션 부여 확인 성공"+"]");
		Log.w("//===========//","================================================");
		Log.d("---","---");
		//TODO === [정상 수행할 동작 정의] ===
	}
	@Override
	public void onPermissionDenied(List<String> deniedPermissions) {
		Log.d("---","---");
		Log.e("//===========//","================================================");
		Log.d("//A_Main//","[onPermissionGranted() 메소드]"+" ["+"실행 : 전체 퍼미션 부여 확인 실패 - "+String.valueOf(deniedPermissions.toString())+"]");
		Log.e("//===========//","================================================");
		Log.d("---","---");
		Toast.makeText(getApplication(),"권한 허가를 동의 하지않으셨습니다.\n기능 사용에 제한이 있을 수 있습니다",Toast.LENGTH_SHORT).show();
		//permissionCheck(); //연속적으로 퍼미션을 허용 받기위해 재귀함수 루틴 사용
	}
};

/* =========================== */

반응형
Comments