programing tip

"Call requires API level"오류를 제거하는 방법은 무엇입니까?

itbloger 2020. 12. 24. 23:24
반응형

"Call requires API level"오류를 제거하는 방법은 무엇입니까?


Eclipse에서이 오류가 발생합니다. Call에는 API 레벨 14가 필요합니다 (현재 최소값은 8) : android.app.ActionBar # setHomeButtonEnabled

이것은 코드입니다.

if(android.os.Build.VERSION.SDK_INT>=14) {
    getActionBar().setHomeButtonEnabled(false);
}

매니페스트에서 :

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />

이 오류를 제거하는 방법?


@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)메서드 서명 위에 줄을 추가합니다 . 여기서는 Build.VERSION_CODES.ICE_CREAM_SANDWICHIce Cream Sandwich의 API 버전 코드 인 14 평가됩니다.

이렇게 :

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void yourMethod() {
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        getActionBar().setHomeButtonEnabled(false);
    }
}

참고 : 허용되는 답변 은 오래되었습니다.

에서 Android Studio 3.0 Beta 7당신은 필요가 없습니다 @TargetApi더 이상 주석을.
보푸라기 검사가 이제 더 똑똑해진 것 같습니다.

그래서 이것으로 충분합니다.

public void yourMethod() {
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        getActionBar().setHomeButtonEnabled(false);
    }
}

참조 URL : https://stackoverflow.com/questions/12631348/how-to-remove-call-requires-api-level-error

반응형