Используйте метод check whether the device is a tablet, а затем force orientation, если это правда.
// From https://stackoverflow.com/questions/5832368/tablet-or-phone-android
public boolean isTablet(Context context) {
boolean xlarge = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 4);
boolean large = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE);
return (xlarge || large);
}
// ...
// Do this from any Activity you do not wish to rotate on tablets:
if (isTablet(this))
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
AFAIK есть устройства, в которых эти инструкции не работают, как и ожидалось, они продолжают в ожидании представления должны быть установлены, и т.д. – Frank
«Ожидание мнений, которые будут созданы»? Я не совсем уверен, что вы имеете в виду. Пока вы это делаете до 'setContentView()', у него нет представлений ждать. – Eric