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