Логика не удалось на Motorola MileStone проверить телефон или планшет? - PullRequest
1 голос
/ 28 февраля 2012

У меня 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.

Предложите пожалуйста.Дайте мне знать, если я ошибаюсь ..

...