Як визначається орієнтація екрана за замовчуванням в android?


11

На андроїд-телефонах орієнтація зазвичай за замовчуванням. Якщо вимкнути автоматичне обертання, екран завжди залишатиметься в портретному режимі.

На андроїдних планшетах орієнтація зазвичай за замовчуванням. Якщо вимкнути автоматичне поворот, екран завжди залишатиметься в альбомному режимі.

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

Оскільки мені важко змінити гравітацію, я намагаюся розібратися, чи зможу я зламати планшет за умовчанням для портретного режиму. Моє запитання, де це було б встановлено? Оскільки я не можу знайти жодної програми, яка може змусити змінити орієнтацію, я створюю враження, що вона вбудована десь глибоко і недоступна в операційній системі. Це можливо десь у файлі властивостей? Це вбудовано глибоко в апаратне забезпечення? З чого я можу почати шукати?

Мій специфічний планшет - це чорнило з поняттям Adam Running BeastyRom 2.2.1 + Clemsyn

редагувати: також запитують тут: http://forum.xda-developers.com/showthread.php?p=14315083#post14315083

Відповіді:


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, маєте ідею?
Мухаммед Рефаат

@Sam woooow ваш шлях просто приголомшливий, і він повністю працював зі мною
Muhammed Refaat

1
@MuhammedRefaat, насправді я з тих пір виявив недолік у такому підході: включення та відключення налаштування автоматичного повороту через інтерфейс налаштувань телефону фактично скидає USER_ROTATIONзначення.
Сем,

@ Так, це правильно, і справді чудовий натяк
Muhammed Refaat

1

Ви можете використовувати спеціальний домашній пусковий пристрій, наприклад ADW -

Перейдіть у розділ Налаштування ADW> Налаштування інтерфейсу користувача> Параметри екрана> Домашня орієнтація. Це дозволяє вам вказати, яку орієнтацію ви бажаєте.

Крім того, я не впевнений, що це можливо

Тільки інша річ може бути користувальницьким ROM


2
що задає домашню орієнтацію для пускової установки. Коли я запускаю додаток, він переходить у ландшафтний режим
fostandy

1

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


для мене це не так. Якщо я ввімкну auto-rotate, тоді орієнтуйте його так, щоб він був у портретному режимі, потім введіть програму, потім відключіть auto-rotate, мій планшет повертається до ландшафту.
fostandy

що робити, якщо ви відключите auto-rotate, тримайте планшет горизонтально, а потім запустіть програму?
jlehenbauer

то мій пусковий апарат орієнтується в ландшафтному режимі, а програма також запускається в ландшафтному режимі
fostandy

що станеться, якщо ви зробите те саме, але почнете вертикально, в портретному режимі? як реагують на запуск і додаток?
jlehenbauer

Я не можу - коли відключити auto-rotateпланшет, перейде в альбомний режим. Щоб запустити програми в портретному режимі, я повинен увімкнути автоматичне поворот (див. Мій перший коментар)
fostandy

0

Режим вбік

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.