Как изменить ОС Android по умолчанию - естественную ориентацию?
У меня есть устройство TI am335xevm под управлением Android Jellybean 4.2.2 с альбомной ориентацией по умолчанию / естественной ориентацией.
Как изменить стандартную / естественную ориентацию устройства на портретную?
Вот что я пробовал до сих пор,
1) Добавил setprop ro.sf.hwrotation 90 в build.prop и ничего не сделал.
2) изменил значение user_rotation в /data/data/com.android.providers.settings/databases/settings.db и изменил ориентацию только приложений. ориентация главного экрана и панели запуска по-прежнему в горизонтальной ориентации.
3) Модифицированный PhoneWindowManager.java, аналогичный приведенному в ссылке: изменение phonewindowmanager для изменения естественной ориентации
Этот вариант работает. Но он по-прежнему показывает бутанимацию в альбомной ориентации, и после завершения анимации дисплей поворачивается (с поворотом анимации) к портрету. Как я могу избежать этого поворота и изменить ориентацию по умолчанию / естественную перед загрузкой анимации?
Примечание. Я уже переопределил бутанимацию собственными портретными изображениями, чтобы она выглядела как портретная. По-прежнему происходит поворот после выхода из бутанимации. Так что будет общим решением?
Любые советы будут оценены.
Это связано с SurfaceFlinger? Я также хотел бы указать на эту статью на сайте Android. предварительное вращение в аппаратном композере
(К вашему сведению - вопрос не в отношении ориентации приложения / активности, а в естественной ориентации устройства при создании ОС Android для пользовательского устройства)
1 ответ
Я пробовал это в Android 9. Я изменил свой файл Surfaceflinger, чтобы он мог заставить дисплей вращаться по моему желанию. Но есть одна проблема в том, что он поворачивает дисплей на полпути от загрузочной анимации. Итак, моя полузагрузочная анимация будет с предопределенной ориентацией, а вторая половина - с моей ориентацией (от Surfaceflinger). Итак, я думаю, что Surfaceflinger - не вариант, если вы хотите изменить ориентацию прямо из ботинка.