Notice
Recent Posts
Recent Comments
Link
투케이2K
680. (Android/Java) getPackageManager().canRequestPackageInstalls() 사용해 알수 없는 앱 설치 권한 부여 상태 확인 본문
Android
680. (Android/Java) getPackageManager().canRequestPackageInstalls() 사용해 알수 없는 앱 설치 권한 부여 상태 확인
투케이2K 2023. 11. 7. 14:33[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [Android Oreo] : [알수 없는 앱 설치 허용 권한 부여 확인]
// -----------------------------------------------------------------------------------------
public static boolean getAppInstallPermisseionEnable(Context mContext){
/**
* -------------------------------------------
* [필요 퍼미션 설정]
*
* <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
* -------------------------------------------
* 권한 부여 확인 : getPackageManager().canRequestPackageInstalls()
* -------------------------------------------
* 참고 (알수 없는 앱 설치 권한 인텐트 이동) :
*
* Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
* intent.setData(Uri.parse("package:" + getPackageName()));
* startActivity(intent);
*
* -------------------------------------------
* */
// [Context 지정]
context = mContext;
// [초기 리턴 변수 선언]
boolean resultData = true;
// [로직 처리 수행 실시]
try {
///*
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){ // [오레오 이상]
if (mContext.getPackageManager().canRequestPackageInstalls() == true){
// ===============================================================
S_Log._F_(mContext, "Android Oreo 오레오 이상 >> 앱 설치 권한 부여 확인", null);
// ===============================================================
// [리턴 결과 삽입 실시]
resultData = true;
}
else {
// ===============================================================
S_Log._F_(mContext, "Android Oreo 오레오 이상 >> 앱 설치 권한 부여 안됨", null);
// ===============================================================
// [리턴 결과 삽입 실시]
resultData = false;
}
}
else {
// ===============================================================
S_Log._F_(mContext, "Android Oreo 오레오 미만 >> 앱 설치 권한 부여 확인", null);
// ===============================================================
// [리턴 결과 삽입 실시]
resultData = true;
}
}
catch (Exception e){
S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
}
// [결과 리턴 실시]
return resultData;
}
반응형
'Android' 카테고리의 다른 글
Comments