Bagaimana orientasi layar default di Android ditentukan?

11

Pada ponsel android, orientasi biasanya default untuk potret. Ketika Anda menonaktifkan rotasi otomatis, layar akan selalu tetap dalam mode potret.

Pada tablet android, orientasi biasanya default untuk lansekap. Ketika Anda menonaktifkan rotasi otomatis, layar akan selalu tetap dalam mode lansekap.

Rupanya tablet tidak dibayangkan untuk digunakan saat berbaring miring. Ketika saya melakukan ini, tidak ada cara untuk membuat tablet tetap dalam mode potret - dengan atau tanpa rotasi otomatis layar macet dalam lanskap.

Karena sangat sulit bagi saya untuk mengubah gravitasi, saya mencoba mencari tahu apakah saya dapat meretas tablet saya ke default ke mode potret. Pertanyaan saya adalah, di mana ini akan ditetapkan? Karena saya tidak dapat menemukan aplikasi yang dapat memaksa mengubah orientasi saya mendapatkan kesan ini tertanam di suatu tempat yang dalam dan tidak dapat diakses dalam sistem operasi. Apakah ini mungkin di suatu tempat di file properti? Apakah tertanam jauh di dalam perangkat keras? Di mana saya bisa mulai mencari?

Tablet spesifik saya adalah Notion Ink Adam Running BeastyRom 2.2.1 + Clemsyn

sunting: juga ditanyakan di sini: http://forum.xda-developers.com/showthread.php?p=14315083#post14315083

fostandy
sumber

Jawaban:

11

Dimungkinkan untuk mengganti orientasi layar default dengan menonaktifkan rotasi accelerometer dan mengatur rotasi pengguna dalam database pengaturan sistem. Ponsel / tablet harus di-root untuk melakukan ini. Perubahan diterapkan setelah ponsel / tablet di-boot ulang.

Di konsol:

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

Lihat http://developer.android.com/reference/android/provider/Settings.System.html#USER_ROTATION untuk detail lebih lanjut

Jakub Czaplicki
sumber
1
Alih-alih me-rooting ponsel / tablet, Anda bisa menulis aplikasi yang mengubah pengaturan ini secara permanen. Tambahkan <uses-permission android:name="android.permission.WRITE_SETTINGS" />ke manifes untuk memberikan izin yang diperlukan dan dalam menjalankan kode Settings.System.putInt(this.contentResolver, Settings.System.ACCELEROMETER_ROTATION, 0);untuk menonaktifkan rotasi otomatis dan Settings.System.putInt(this.contentResolver, Settings.System.USER_ROTATION, Surface.ROTATION_0);untuk mengatur rotasi layar default baru telepon.
Sam
can't find sqlite3, punya sebuah ide ?
Muhammed Refaat
@Sam woooow caramu keren dan benar-benar bekerja denganku
Muhammed Refaat
1
@MuhammedRefaat, sebenarnya saya sudah menemukan kelemahan dalam pendekatan ini: mengaktifkan dan menonaktifkan pengaturan rotasi otomatis melalui pengaturan telepon UI sebenarnya mengatur ulang USER_ROTATIONnilai.
Sam
@ Sam ya itu benar, dan petunjuk yang sangat bagus
Muhammed Refaat
1

Anda dapat menggunakan peluncur rumah khusus seperti ADW -

Pergi ke ADWSettings> Pengaturan UI> Preferensi Layar> Orientasi Rumah ini memungkinkan Anda untuk menentukan orientasi mana yang Anda inginkan.

Selain itu saya tidak yakin itu mungkin

Hanya hal lain yang bisa menjadi ROM Kustom

admintech
sumber
2
yang menetapkan orientasi rumah untuk peluncur. Ketika saya memulai sebuah aplikasi kemudian masuk ke mode lansekap
fostandy
1

The auto-rotatePengaturan hanya itu, otomatis. Saat dinonaktifkan, perangkat tidak selalu menggunakan orientasi layar tunggal, tetapi menggunakan orientasi apa pun yang aktif saat memasuki aplikasi, hingga aplikasi itu ditutup. Setidaknya, ini basi untuk ponsel, saya punya sedikit pengalaman dengan tablet, tapi saya berharap itu akan sama. Jika ya, pastikan tablet dalam potret saat Anda meluncurkan aplikasi, dan Anda akan baik-baik saja.

jenbenbauer
sumber
ini bukan untuk saya. Jika saya aktifkan auto-rotate, lalu orientasikan sehingga berada dalam mode potret, lalu masukkan aplikasi, lalu nonaktifkan auto-rotate, tablet saya kembali ke lanskap.
fostandy
bagaimana jika Anda menonaktifkan auto-rotate, memegang tablet secara horizontal, lalu meluncurkan aplikasi?
jlehenbauer
kemudian peluncur saya mengarahkan dalam mode lansekap dan aplikasi juga mulai dalam mode lansekap
fostandy
apa yang terjadi jika Anda melakukan hal yang sama, tetapi mulai secara vertikal, dalam mode potret? bagaimana reaksi peluncur dan aplikasi?
jlehenbauer
Saya tidak bisa - ketika saya menonaktifkan auto-rotatetablet saya masuk ke mode lansekap. Untuk memulai aplikasi dalam mode potret, saya harus mengaktifkan rotasi otomatis (lihat komentar pertama saya)
fostandy
0

Mode Sideways

Saya telah menulis sebuah aplikasi untuk memungkinkan Anda menggunakan rotasi otomatis bahkan ketika Anda berbaring miring. Anda bisa mendapatkannya dari Play Store di sini .

Sam
sumber