Я пытаюсь настроить максимально возможное количество архитектур, а также как можно меньше предупреждений.Для Android Call требуется уровень API 13 (текущий минимум 10): android.view.Display # getSize
Point dims = new Point();
if (android.os.Build.VERSION.SDK_INT >= 13) {
mWindowManager.getDefaultDisplay().getSize(dims);
} else if (android.os.Build.VERSION.SDK_INT < 13) {
dims.x = mWindowManager.getDefaultDisplay().getWidth();
dims.y = mWindowManager.getDefaultDisplay().getHeight();
}
Но это дает мне ошибку и предупреждение:
Call requires API level 13 (current min is 10): android.view.Display#getSize
The method getWidth() from the type Display is deprecated
They say to change the manifesto (или here), но почему это не работает выше для компилятора? Разве я не могу избавиться от обоих с диапазоном от 10 до 18?
это приведет к краху вашего приложения, когда вы его используете? Обычно это дает вам ошибку, но программа все равно будет работать. Это всего лишь предупреждение – user1084319
Игнорирование подобных предупреждений приведет к сбою в работе устройств с более низким 'API', чем запрошено, и, вероятно, ваше приложение будет генерировать« Исключение ». Обычно есть обходные пути, чтобы не увеличивать «minSdk», но я не знаю, как этого можно избежать. – nKn
ИЛИ то, что вы можете попробовать, это 'DisplayMetrics display = new DisplayMetrics();' then do 'getActivity(). GetWindowManager(). GetDefaultDisplay(). GetMetrics (display);' Это позволит вам получить ширину и height через 'int width = display.widthPixels;' или 'heightPixels' для высоты – user1084319