Notice
Recent Posts
Recent Comments
Link
투케이2K
10. (TWOK/ERROR) [Android] ted 테드 퍼미션 사용 시 특정 디바이스 (갤럭시 s8) 등에서 앱이 중단되는 이슈 본문
투케이2K 에러관리
10. (TWOK/ERROR) [Android] ted 테드 퍼미션 사용 시 특정 디바이스 (갤럭시 s8) 등에서 앱이 중단되는 이슈
투케이2K 2022. 4. 9. 17:26[환경 설정 및 설명]
프로그램 : AndroidStudio
설 명 : ted 테드 퍼미션 사용 시 특정 디바이스 (갤럭시 s8) 등에서 앱이 중단되는 이슈
[에러 원인]
1. 구글 플레이스토어 특정 버전 이상 (Oreo 8.0) 발생하는 문제로 기존 테드 퍼미션 의존성과 호환성이 맞지 않는 이슈
[해결 방법]
1. 테트 퍼미션 의존성 버전 업데이트 수행 및 코드 재작성 실시 (Build.gradle , Java 파일)
// [테드 퍼미션 : 다중 퍼미션 체크 라이브러리]
implementation 'gun0912.ted:tedpermission:2.2.2'
// TODO [퍼미션 체크 메소드]
public static Context context;
public static void checkPermission(Context mContext) {
context = mContext;
try {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[C_Permission >> checkPermission() :: 퍼미션 부여 확인 실행]");
Log.d("//===========//","================================================");
Log.i("---","---");
TedPermission.with(mContext)
.setPermissionListener(permissionlistener) // [퍼미션이 부여 체크 이벤트 리스너 지정]
// TODO [AndroidManifest.xml 에 등록된 퍼미션 등록]
.setPermissions(
// -----------------------------------------
// [휴대폰 상태 체크]
Manifest.permission.READ_PHONE_STATE,
// -----------------------------------------
// [블루투스 권한]
Manifest.permission.BLUETOOTH,
Manifest.permission.BLUETOOTH_ADMIN,
// -----------------------------------------
// [위치 권한]
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
// -----------------------------------------
// [저장소 권한 : application >> android:requestLegacyExternalStorage="true" 등록 필요]
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
// -----------------------------------------
// [카메라 권한]
Manifest.permission.CAMERA
// -----------------------------------------
)
.check();
}
catch (Exception e){
e.printStackTrace();
}
}
// TODO [퍼미션이 부여 되었는지 확인 메소드]
static PermissionListener permissionlistener = new PermissionListener() {
@Override
public void onPermissionGranted() {
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[C_Permission >> checkPermission() :: 전체 퍼미션 부여 확인 성공]");
Log.w("//===========//","================================================");
Log.i("---","---");
// -----------------------------------------
// [QueryAllPackagesPermission 권한 부여 확인 >> 사용자 모바일 접근성 권한 체크]
checkQueryAllPackages(context);
// -----------------------------------------
}
@Override
public void onPermissionDenied(List<String> deniedPermissions) {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_Permission >> checkPermission() :: 전체 퍼미션 부여 확인 실패]");
Log.i("","\n"+"[거부된 권한 :: "+String.valueOf(deniedPermissions.toString())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
// -----------------------------------------
// [연속적으로 퍼미션을 허용 받기위해 재귀함수 루틴 사용]
// checkPermission();
// -----------------------------------------
// [Alert 팝업창 알림 실시]
getAlertDialog(
context,
0, // [설정창 이동 타입 지정]
AL_TITLE,
AL_NPA,
AL_SET,
AL_NO,
"");
// -----------------------------------------
}
};
반응형
'투케이2K 에러관리' 카테고리의 다른 글
Comments