Can I use Android version code constants with older Android runtimes? For instance,
if (android.os.Build.VERSION.SDK_INT >=
android.os.Build.VERSION_CODES.HONEYCOMB) ...
would this run without crash on old devices running Android operating system before HONEYCOMB when this constant has been first defined? Assuming we compile it with recent enough SDK?
The version code is an incremental integer value that represents the version of the application code. The version name is a string value that represents the “friendly” version name displayed to the users.
From now on, the lowest level of Android we'll be supporting is Android 6 (Marshmallow).
Yes, this will work.
The reason for this is that android.os.Build.VERSION_CODES.HONEYCOMB
is an int
. android.os.Build.VERSION_CODES.HONEYCOMB
is just an alias (the int
equals 11
) for 11
, as can be seen in an IDE such as Eclipse:
int android.os.Build.VERSION_CODES.HONEYCOMB = 11 [0xb]
So this will work as it'll just check if the android.os.Build.VERSION.SDK_INT
is greater than or equal to 11.
Yes you can. It works because the int
values are static final
. The compiler will inline them into the bytecode at compile time. No symbol import is required at runtime.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With