ir2pid
ir2pid

Reputation: 6156

Android @TargetApi return

I'm using a method with boolean return type for api 19 while my app supports min sdk 15, what will the method return incase the api is less than 19 ?

@TargetApi(19)
    public static boolean isFeatureXEnabled(Context context) {

    some logic

    return true/false;
}

what do I get in return for API <19 when calling?

classInstance.isFeatureXEnabled(context);

Upvotes: 0

Views: 135

Answers (2)

Nabin Bhandari
Nabin Bhandari

Reputation: 16409

@TargetApi

Indicates that Lint should treat this type as targeting a given API level, no matter what the project target is — https://developer.android.com/reference/android/annotation/TargetApi.html

It means it is just used by Lint to hide/suppress the warning. It has ho effect in the return value.

Upvotes: 1

Pavneet_Singh
Pavneet_Singh

Reputation: 37404

let's understand @TargetApi(19)

You are using a feature which is not available on minimum SDK so

Compiler : you cannot use this feature , it is not supported by min sdk

You: i know what i am doing so hush , take this @TargetApi(19)

Compiler : so now it is your responsibility to check the API level and call this function accordingly

what will the method return incase the api is less than 19

If the code inside this function is not supported by minsdk then most likely a crash otherwise your result of your logical calculation

you can do something like this

@TargetApi(19)
public static boolean isFeatureXEnabled(Context context) {

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
         some logic
         return true/false;
    }

    return false;
}

Upvotes: 2

Related Questions