У меня Motorola Milestone OS 2.2.1.Я работаю с универсальным приложением для телефонов и планшетов.Моя логика для поиска планшета или телефона следующая:
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
float screenWidth = display.getWidth(); // Width in Pixels 480
float screenHeight = display.getHeight();// Height in Pixels 854
DisplayMetrics dm = new DisplayMetrics();
display.getMetrics(dm);
double x = Math.pow(dm.widthPixels/dm.xdpi,2);
double y = Math.pow(dm.heightPixels/dm.ydpi,2);
double screenInches = Math.sqrt(x+y); // Screen inches : 10.20469720465169
Согласно моей логике Планшет должен иметь размер экрана> = 6 дюймов .
Логика One Anotherтакже добавлено, что устройство выглядит как планшет с шириной экрана> = 600px
с логикой, приведенной выше. Я получаю размер экрана в дюймах 10,20 дюйма, в то время как та же логика отлично работает со всеми моими другими устройствами.
Моя базовая версия SDK - 2.3.3 (11) minSDK - 3, TargetSDK - 11.
Еще одна вещь, о которой я хотел бы упомянуть, - без объявления TargetSDK 11 Я получаю Width для SamsungTab - 400, в то время как фактическое - 600. И мне удалось поставить TargetSDK.
Предложите пожалуйста.Дайте мне знать, если я ошибаюсь ..