การวางแนวหน้าจอเริ่มต้นใน android ระบุอย่างไร?


11

บนโทรศัพท์ Android การวางแนวมักเป็นค่าเริ่มต้นเป็นแนวตั้ง เมื่อคุณปิดใช้งานการหมุนอัตโนมัติหน้าจอจะยังคงอยู่ในโหมดแนวตั้งเสมอ

บนแท็บเล็ต Android การวางแนวมักจะเป็นแนวนอน เมื่อคุณปิดใช้งานการหมุนอัตโนมัติหน้าจอจะยังคงอยู่ในโหมดแนวนอนเสมอ

เห็นได้ชัดว่าแท็บเล็ตไม่ได้ถูกจินตนาการไว้สำหรับการใช้งานขณะนอนตะแคง เมื่อฉันทำเช่นนี้จะไม่มีวิธีที่จะทำให้แท็บเล็ตอยู่ในโหมดแนวตั้ง - ไม่ว่าจะมีหรือไม่มีการหมุนหน้าจออัตโนมัติติดอยู่ในแนวนอน

มันค่อนข้างยากสำหรับฉันที่จะเปลี่ยนแรงโน้มถ่วงฉันพยายามคิดว่าฉันจะแฮ็คแท็บเล็ตของฉันให้เป็นโหมดแนวตั้ง คำถามของฉันคือชุดนี้จะถูกตั้งไว้ที่ไหน? เนื่องจากฉันไม่พบแอปพลิเคชั่นใด ๆ ที่สามารถบังคับให้เปลี่ยนทิศทางได้ฉันก็รู้สึกว่านี่ฝังอยู่ในที่ที่ลึกและเข้าถึงไม่ได้ในระบบปฏิบัติการ นี่อาจเป็นที่อื่นในไฟล์คุณสมบัติหรือไม่ มันฝังลึกอยู่ในฮาร์ดแวร์หรือไม่? ฉันจะเริ่มมองหาที่ไหน

แท็บเล็ตเฉพาะของฉันคือ Notion Ink Adam ที่ใช้ BeastyRom 2.2.1 + Clemsyn

แก้ไข: ถามด้วยที่นี่: http://forum.xda-developers.com/showthread.php?p=14315083#post14315083

คำตอบ:


11

เป็นไปได้ที่จะแทนที่การวางแนวหน้าจอเริ่มต้นโดยการปิดใช้งานการหมุน accelerometer และการตั้งค่าการหมุนของผู้ใช้ในฐานข้อมูลการตั้งค่าระบบ โทรศัพท์ / แท็บเล็ตต้องถูกรูทเพื่อทำสิ่งนี้ การเปลี่ยนแปลงจะถูกนำไปใช้หลังจากรีบูตโทรศัพท์ / แท็บเล็ต

บนคอนโซล:

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);เพื่อตั้งค่าการหมุนหน้าจอเริ่มต้นใหม่ของโทรศัพท์
Sam

can't find sqlite3มีความคิดเหรอ?
Muhammed Refaat

@Sam woooow ในแบบของคุณยอดเยี่ยมมากและใช้งานร่วมกับฉันได้อย่างสมบูรณ์
Muhammed Refaat

1
@MuhammedRefaat จริงฉันได้ค้นพบตั้งแต่ข้อบกพร่องในแนวทางนี้: เปิดใช้งานและปิดการใช้งานการตั้งค่าการหมุนอัตโนมัติผ่านการตั้งค่าโทรศัพท์ UI จริงรีเซ็ตUSER_ROTATIONค่า
Sam

@ ใช่ใช่ถูกต้องและคำแนะนำที่ดีจริงๆ
Muhammed Refaat

1

คุณสามารถใช้ตัวเรียกใช้ในบ้านที่กำหนดเองเช่น ADW -

ไปที่ ADW การตั้งค่า> การตั้งค่า UI> การตั้งค่าหน้าจอ> การวางแนวโฮมซึ่งจะช่วยให้คุณระบุการวางแนวที่คุณต้องการ

นอกเหนือจากนั้นฉันไม่แน่ใจว่าเป็นไปได้

สิ่งอื่น ๆ เท่านั้นที่สามารถกำหนดเอง ROM


2
ที่ตั้งค่าการวางแนวบ้านสำหรับตัวเรียกใช้งาน เมื่อฉันเริ่มแอพมันจะเข้าสู่โหมดแนวนอน
fostandy

1

การauto-rotateตั้งค่านั้นเป็นไปโดยอัตโนมัติ เมื่อปิดใช้งานอุปกรณ์จะไม่ใช้การวางแนวหน้าจอเดียวเสมอไป แต่จะใช้การวางแนวใดก็ตามที่เปิดใช้งานเมื่อเข้าสู่แอปพลิเคชันจนกว่าแอปนั้นจะปิด อย่างน้อยนี่เป็นสิ่งที่น่าเบื่อสำหรับโทรศัพท์ฉันมีประสบการณ์น้อยเกี่ยวกับแท็บเล็ต แต่ฉันคาดว่ามันจะเหมือนกัน ถ้าเป็นเช่นนั้นเพียงตรวจสอบให้แน่ใจว่าแท็บเล็ตอยู่ในแนวตั้งเมื่อคุณเปิดแอปและคุณจะทำได้ดี


นี่ไม่ใช่กรณีสำหรับฉัน หากฉันเปิดใช้งานให้auto-rotateปรับแนวมันเพื่อให้อยู่ในโหมดแนวตั้งจากนั้นเข้าสู่แอปพลิเคชันแล้วปิดการใช้งานauto-rotateแท็บเล็ตของฉันจะกลับสู่แนวนอน
fostandy

ถ้าคุณปิดใช้งานauto-rotateถือแท็บเล็ตในแนวนอนแล้วเปิดแอปพลิเคชัน
jlehenbauer

จากนั้นตัวเรียกใช้งานของฉันในโหมดแนวนอนและแอปพลิเคชันก็เริ่มในโหมดแนวนอน
fostandy

จะเกิดอะไรขึ้นถ้าคุณทำสิ่งเดียวกัน แต่เริ่มต้นในแนวตั้งในโหมดแนวตั้ง? ตัวเรียกใช้งานและแอปพลิเคชันมีปฏิกิริยาอย่างไร
jlehenbauer

ฉันทำไม่ได้ - เมื่อฉันปิดการใช้งานauto-rotateแท็บเล็ตจะเข้าสู่โหมดแนวนอน ในการเริ่มต้นปพลิเคชันในโหมดแนวตั้งผมต้องเปิดใช้งานอัตโนมัติหมุน (ดูความคิดเห็นแรกของฉัน)
fostandy

0

โหมดด้านข้าง

ฉันเขียนแอพเพื่อให้คุณใช้การหมุนอัตโนมัติแม้ในขณะที่คุณนอนตะแคง คุณจะได้รับจากการจัดเก็บการเล่นที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.