Come viene specificato l'orientamento dello schermo predefinito in Android?


11

Sui telefoni Android, l'orientamento predefinito è in genere ritratto. Quando si disabilita la rotazione automatica, lo schermo rimarrà sempre in modalità verticale.

Sui tablet Android, l'orientamento predefinito è in genere orizzontale. Quando si disabilita la rotazione automatica, lo schermo rimarrà sempre in modalità orizzontale.

Apparentemente le compresse non erano previste per l'uso mentre giaceva lateralmente. Quando lo faccio, non c'è modo di far rimanere il tablet in modalità verticale: con o senza la rotazione automatica lo schermo è bloccato in orizzontale.

Poiché è abbastanza difficile per me cambiare la gravità, sto cercando di capire se riesco a hackerare il mio tablet alla modalità ritratto predefinita. La mia domanda è: dove sarebbe impostato? Dato che non riesco a trovare alcuna applicazione in grado di forzare la modifica dell'orientamento, ho l'impressione che questo sia incorporato da qualche parte in profondità e inaccessibile nel sistema operativo. È forse da qualche parte nel file delle proprietà? È incorporato in profondità nell'hardware? Dove posso iniziare a cercare?

Il mio tablet specifico è un Notion Ink Adam Running BeastyRom 2.2.1 + Clemsyn

modifica: anche chiesto qui: http://forum.xda-developers.com/showthread.php?p=14315083#post14315083

Risposte:


11

È possibile sovrascrivere l'orientamento predefinito dello schermo disabilitando la rotazione dell'accelerometro e impostando la rotazione dell'utente nel database delle impostazioni di sistema. A tale scopo, è necessario eseguire il root del telefono / tablet. La modifica viene applicata dopo il riavvio del telefono / tablet.

Sulla console:

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

Vedi http://developer.android.com/reference/android/provider/Settings.System.html#USER_ROTATION per maggiori dettagli


1
Invece di eseguire il root del telefono / tablet, puoi semplicemente scrivere un'app che modifica permanentemente queste impostazioni. Aggiungi <uses-permission android:name="android.permission.WRITE_SETTINGS" />al manifest per dargli l'autorizzazione richiesta e nell'esecuzione del codice Settings.System.putInt(this.contentResolver, Settings.System.ACCELEROMETER_ROTATION, 0);per disabilitare la rotazione automatica e Settings.System.putInt(this.contentResolver, Settings.System.USER_ROTATION, Surface.ROTATION_0);impostare la nuova rotazione dello schermo predefinita del telefono.
Sam,

can't find sqlite3, avere un'idea ?
Muhammed Refaat,

@Sam woooow la tua strada è semplicemente fantastica e ha funzionato
perfettamente

1
@MuhammedRefaat, da allora ho scoperto un difetto in questo approccio: abilitare e disabilitare l'impostazione di rotazione automatica tramite l'interfaccia utente delle impostazioni del telefono reimposta il USER_ROTATIONvalore.
Sam,

@Sam sì, esatto, e un suggerimento davvero eccezionale
Muhammed Refaat,

1

Puoi usare un launcher personalizzato come ADW -

Vai su Impostazioni ADW> Impostazioni UI> Preferenze schermo> Orientamento casa questo ti permette di specificare quale orientamento vuoi.

A parte questo, non sono sicuro che sia possibile

L'unica altra cosa potrebbe essere la ROM personalizzata


2
che imposta l'orientamento della casa per il programma di avvio. Quando avvio un'app, questa passa in modalità orizzontale
fostandy,

1

L' auto-rotateimpostazione è proprio quella, automatica. Quando è disabilitato, il dispositivo non utilizza sempre un singolo orientamento dello schermo, ma utilizza qualsiasi orientamento sia attivo quando si accede a un'applicazione, fino a quando tale app non viene chiusa. Almeno, questo è banale per i telefoni, ho poca esperienza con i tablet, ma mi aspetto che sarebbe lo stesso. In tal caso, assicurati che il tablet sia in verticale quando avvii l'app e sarai a posto.


questo non è il caso per me. Se abilito auto-rotate, quindi orientalo in modo che sia in modalità verticale, quindi accedo a un'applicazione, quindi disabilita auto-rotate, il mio tablet torna in orizzontale.
Fostandy,

cosa succede se disabiliti auto-rotate, tieni il tablet in posizione orizzontale, quindi avvia un'applicazione?
jlehenbauer,

quindi il mio launcher si orienta in modalità orizzontale e l'applicazione si avvia anche in modalità orizzontale
fostandy

cosa succede se fai la stessa cosa, ma inizi in verticale, in modalità verticale? come reagiscono il launcher e l'applicazione?
jlehenbauer,

Non posso - quando disabilito il auto-rotatemio tablet entra in modalità orizzontale. Per avviare le app in modalità
verticale

0

Modalità laterale

Ho scritto un'app per permetterti di usare la rotazione automatica anche quando sei sdraiato su un fianco. Puoi scaricarlo dal Play Store qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.