안드로이드 문서 보면 makeText() 는 Added in API level 1 이라고 설명되어 있고, addCallback() 은 Added in API level 30 이라고 쓰여있다. API level 1 부터 지원되던 makeText() 는 아마도 왠만한 최신 버전에도 적용이 될 것이다.(아니면 더이상 추천되지 않거나) 하지만 API level 30부터 적용되는 addCallback() 은 그 이전 API level 에서는 거의 확실하게 작동하지 않을 것이다.
출처
https://velog.io/@tjeong/Android-API-%EB%A0%88%EB%B2%A8-%ED%98%B8%ED%99%98%EC%84%B1
minSdk가 21로 지정된 경우 addCallBack을 사용하면 문제가 발생할 수 있다.
@RequiresApi(Build.VERSION_CODE.S)
fun test () {
...
addCallBack() 사용
...
}
==========================================
@TargetApi(Build.VERSION_CODE.S)
fun test() {
...
addCallBack() 사용
...
}
@RequiresApi, @TargetApi를 통해 오류를 무시할 수 있다.
앱이 실행될 때 API 레벨 호환성 문제를 막으려면 코드로 처리해 주어야 한다.
if (Build.VERSON.SDK_INT >= Build.VERSION_CODE.S) {
...
addCallBack() 사용
...
}
if 문을 통해 특정 버전에서만 실행하도록 작성할 수 있다.