Is it safe to use .getWidth on Display even though its deprecated
So i have a small problem, i'm writing a function which need to send screen width to server. I got it all to work, and i use:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
to get width. However .getWidht() function is deprecated and it says u need to use:
Point size = new Point();
display.getSize(size);
But that function is only avaible for api level 13 or more, and my minimum sdk is 8. So what can i do? Is it safe if i stay with getWidth? Why adding new function and not make them backward compatible?
May be this approach will be helpful:
DisplayMetrics displaymetrics = new DisplayMetrics();
mContext.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int screenWidth = displaymetrics.widthPixels;
int screenHeight = displaymetrics.heightPixels;
You can check for API level at runtime, and choose which to use, e.g.:
final int version = android.os.Build.VERSION.SDK_INT;
final int width;
if (version >= 13)
{
Point size = new Point();
display.getSize(size);
width = size.x;
}
else
{
Display display = getWindowManager().getDefaultDisplay();
width = display.getWidth();
}
If you want to be correct, use this approach:
int sdk = android.os.Build.VERSION.SDK_INT;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR2) {
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
} else {
Point size = new Point();
display.getSize(size);
}