Различать планшет и смартфон на ICS

Я понимаю, что по умолчанию (pre ICS), чтобы различать планшет и смартфон, разработчик может использовать версию sdk в манифесте Android (помимо размера экрана и фильтров OpenGL). Теперь, когда ICS работает как на SP, так и на планшетах, какие параметры имеет разработчик, если мне нужно различать SP и Tablet?

Я не думаю, что размер экрана надежный.

По некоторым причинам я не могу иметь общий apk для SP и Tablet. Я также хотел бы избежать отдельного приложения для Tablets и SP

Ответ 1

Единственными существенными отличиями между планшетами и телефонами являются, в общем, размер экрана и наличие возможностей телефонии, а также тот факт, что телефоны обычно имеют мобильные данные, а планшеты могут быть только Wi-Fi. С ICS программное обеспечение, работающее на двух классах устройств, в основном одинаково, поэтому единственными интересными отличительными особенностями являются эти моменты. Если устройство имеет экран, достаточно большой для вашего приложения, и предоставляет все необходимые возможности, имеет значение, если это телефон или планшет?

Я бы сказал, что размер экрана - это именно то, что вы должны фильтровать. Это не "версия телефона" и "планшетная версия", а "маленький экран" и "большой экран".

Ответ 3

Вы также можете проверить build.prop

Таблетки, на которых работает ICS, должны иметь этот набор для планшета, телефоны будут иметь телефон/по умолчанию

ro.build.characteristics =