Как указана ориентация экрана по умолчанию в Android?

11

На телефонах Android ориентация по умолчанию, как правило, портретная. При отключении автоповорота экран всегда будет оставаться в портретном режиме.

На андроид планшетах ориентация по умолчанию обычно по умолчанию. Когда вы отключите автоповорот, экран всегда будет оставаться в ландшафтном режиме.

Очевидно, что таблетки не предназначались для использования, лежа на боку. Когда я это делаю, нет никакого способа заставить планшет оставаться в портретном режиме - с или без автоповорота экран застрял в альбомной ориентации.

Поскольку мне тяжело изменить гравитацию, я пытаюсь понять, могу ли я взломать свой планшет по умолчанию в портретном режиме. Мой вопрос: где это будет установлено? Поскольку я не могу найти никаких приложений, которые могут заставить изменить ориентацию, у меня сложилось впечатление, что это встроено где-то глубоко и недоступно в операционной системе. Это возможно где-то в файле свойств? Это глубоко в оборудовании? Где я могу начать искать?

Мой конкретный планшет - это Notion Ink Adam, работающий под управлением BeastyRom 2.2.1 + Clemsyn

изменить: также спросил здесь: http://forum.xda-developers.com/showthread.php?p=14315083#post14315083

fostandy
источник

Ответы:

11

Можно переопределить ориентацию экрана по умолчанию, отключив поворот акселерометра и установив поворот пользователя в базе данных системных настроек. Телефон / планшет должен быть рутирован для этого. Изменение вступает в силу после перезагрузки телефона / планшета.

На консоли:

su
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
insert into system (name,value) values('accelerometer_rotation',0);
insert into system (name,value) values('user_rotation',1);
.exit
  • user_rotation 0 -> ROTATION_0
  • user_rotation 1 -> ROTATION_180
  • user_rotation 2 -> ROTATION_270
  • user_rotation 3 -> ROTATION_90

См. Http://developer.android.com/reference/android/provider/Settings.System.html#USER_ROTATION для получения дополнительной информации.

Якуб Чаплицкий
источник
1
Вместо того, чтобы рутировать телефон / планшет, вы можете просто написать приложение, которое постоянно изменяет эти настройки. Добавьте <uses-permission android:name="android.permission.WRITE_SETTINGS" />к манифесту, чтобы дать ему необходимое разрешение, и в коде запуска Settings.System.putInt(this.contentResolver, Settings.System.ACCELEROMETER_ROTATION, 0);отключите автоповорот и Settings.System.putInt(this.contentResolver, Settings.System.USER_ROTATION, Surface.ROTATION_0);установите новый поворот экрана телефона по умолчанию.
Сэм
can't find sqlite3, есть идея ?
Мухаммед Рефаат
@ Сэм, ууууу, твой путь просто потрясающий, и он полностью сработал со мной
Мухаммед Рефаат,
1
@MuhammedRefaat, с тех пор я обнаружил недостаток в этом подходе: включение и отключение настройки автоматического поворота через пользовательский интерфейс настроек телефона фактически сбрасывает USER_ROTATIONзначение.
Сэм
@ Сэм, да, это правда, и действительно отличный намек
Мухаммед Рефаат
1

Вы можете использовать собственный домашний лаунчер, такой как ADW ​​-

Перейдите в ADWSettings> Настройки пользовательского интерфейса> Настройки экрана> Домашняя ориентация, это позволяет указать, какую ориентацию вы хотите.

Кроме того, я не уверен, что это возможно

Только другое может быть Custom ROM

admintech
источник
2
это устанавливает домашнюю ориентацию для запуска. Когда я запускаю приложение, оно переходит в ландшафтный режим
fostandy
1

auto-rotateУстановка только что, автоматический. Когда оно отключено, устройство не всегда использует одну ориентацию экрана, но использует любую ориентацию, активную при входе в приложение, пока это приложение не будет закрыто. По крайней мере, это банально для телефонов, у меня мало опыта с планшетами, но я ожидаю, что это будет то же самое. Если это так, просто убедитесь, что планшет находится в портретном режиме при запуске приложения, и все будет хорошо.

jlehenbauer
источник
это не тот случай для меня. Если я включу auto-rotate, то сориентирую его так, чтобы он находился в портретном режиме, затем войдите в приложение, затем отключите auto-rotate, мой планшет вернется в альбомную ориентацию .
fostandy
Что делать auto-rotate, если отключить , держать планшет горизонтально, а затем запустить приложение?
jlehenbauer
затем мой лаунчер ориентируется в ландшафтном режиме, и приложение также запускается в ландшафтном режиме
fostandy
что произойдет, если вы сделаете то же самое, но начнете вертикально, в портретном режиме? как на лаунчер и приложение реагируют?
jlehenbauer
Я не могу - когда я отключаю auto-rotateпланшет переходит в альбомный режим. Для запуска приложений в портретном режиме я должен включить автоповорот (см. Мой первый комментарий)
fostandy
0

Боковой режим

Я написал приложение, которое позволит вам использовать автоповорот, даже когда вы лежите на боку. Вы можете получить его в магазине Play здесь .

Сэм
источник