How to remove "Call requires API level" error?

AndroidEclipse

Android Problem Overview


I get this error in Eclipse: Call requires API level 14 (current min is 8): android.app.ActionBar#setHomeButtonEnabled

This is code:

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

In Manifest:

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

How to remove this error?

Android Solutions


Solution 1 - Android

Add the line @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) above the method signature, where Build.VERSION_CODES.ICE_CREAM_SANDWICH evaluates to 14, the API version code for Ice Cream Sandwich.

Like so:

@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);
    }
}

Solution 2 - Android

Note: the accepted answer is outdated.

In Android Studio 3.0 Beta 7 you don't need the @TargetApi annotation anymore.
It seems that the lint check is smarter now.

So this is enough:

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBArtWellView Question on Stackoverflow
Solution 1 - AndroidCatView Answer on Stackoverflow
Solution 2 - AndroidTmTronView Answer on Stackoverflow