Làm thế nào là định hướng màn hình mặc định trong Android được chỉ định?


11

Trên điện thoại Android, định hướng thường mặc định là dọc. Khi bạn tắt tự động xoay, màn hình sẽ luôn ở chế độ dọc.

Trên máy tính bảng Android, định hướng thường mặc định là ngang. Khi bạn tắt tự động xoay, màn hình sẽ luôn ở chế độ ngang.

Rõ ràng máy tính bảng không được hình dung để sử dụng trong khi nằm nghiêng. Khi tôi làm điều này, không có cách nào để máy tính bảng duy trì ở chế độ dọc - có hoặc không có tự động xoay màn hình bị kẹt trong ngang.

Vì nó khá khó để tôi thay đổi trọng lực, tôi đang cố gắng tìm hiểu xem liệu tôi có thể hack máy tính bảng của mình để mặc định ở chế độ dọc hay không. Câu hỏi của tôi là, nơi này sẽ được đặt ở đâu? Vì tôi không thể tìm thấy bất kỳ ứng dụng nào có thể buộc thay đổi hướng, tôi có ấn tượng rằng nó được nhúng ở đâu đó sâu và không thể truy cập được trong hệ điều hành. Đây có thể là một nơi nào đó trong tập tin thuộc tính? Có phải nó được nhúng sâu trong phần cứng? Tôi có thể bắt đầu tìm kiếm ở đâu?

Máy tính bảng cụ thể của tôi là Notion Ink Adam Running BeastyRom 2.2.1 + Clemsyn

chỉnh sửa: cũng được hỏi tại đây: http://forum.xda-developers.com/showthread.php?p=14315083#post14315083

Câu trả lời:


11

Có thể ghi đè hướng màn hình mặc định bằng cách vô hiệu hóa xoay gia tốc và cài đặt xoay người dùng trong cơ sở dữ liệu cài đặt hệ thống. Điện thoại / máy tính bảng cần được root để làm điều này. Thay đổi được áp dụng sau khi điện thoại / máy tính bảng được khởi động lại.

Trên bảng điều khiển:

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

Xem http://developer.android.com/reference/android/provider/Sinstall.System.html#USER_ROTATION để biết thêm chi tiết


1
Thay vì root điện thoại / máy tính bảng, bạn chỉ có thể viết một ứng dụng thay đổi các cài đặt này vĩnh viễn. Thêm <uses-permission android:name="android.permission.WRITE_SETTINGS" />vào bảng kê khai để cấp cho nó quyền yêu cầu và trong mã chạy Settings.System.putInt(this.contentResolver, Settings.System.ACCELEROMETER_ROTATION, 0);để tắt chế độ xoay tự động và Settings.System.putInt(this.contentResolver, Settings.System.USER_ROTATION, Surface.ROTATION_0);để đặt xoay màn hình mặc định mới của điện thoại.
Sam

can't find sqlite3, có một ý tưởng?
Muhammed Refaat

@Sam woooow cách của bạn thật tuyệt vời và nó hoàn toàn hiệu quả với tôi
Muhammed Refaat

1
@MuhammedRefaat, thực ra tôi đã phát hiện ra một lỗ hổng trong phương pháp này: bật và tắt cài đặt xoay tự động thông qua giao diện người dùng cài đặt điện thoại thực sự đặt lại USER_ROTATIONgiá trị.
Sam

@Sam vâng đúng vậy, và gợi ý thực sự tuyệt vời
Muhammed Refaat

1

Bạn có thể sử dụng trình khởi chạy tùy chỉnh tại nhà như ADW -

Chuyển đến ADWS Settings> Cài đặt giao diện người dùng> Tùy chọn màn hình> Định hướng nhà cho phép bạn chỉ định hướng bạn muốn.

Ngoài ra tôi không chắc nó có thể

Chỉ có điều khác có thể là ROM tùy chỉnh


2
mà đặt hướng nhà cho launcher. Khi tôi khởi động một ứng dụng, nó sẽ chuyển sang chế độ
nằm ngang

1

Các auto-rotatethiết lập chỉ là, tự động. Khi bị tắt, thiết bị không phải lúc nào cũng sử dụng một hướng màn hình duy nhất, nhưng sử dụng bất kỳ hướng nào đang hoạt động khi vào một ứng dụng, cho đến khi ứng dụng đó bị đóng. Ít nhất, đây là trite cho điện thoại, tôi có ít kinh nghiệm với máy tính bảng, nhưng tôi hy vọng nó sẽ giống nhau. Nếu có, chỉ cần đảm bảo máy tính bảng ở chế độ dọc khi bạn khởi chạy ứng dụng, và bạn sẽ ổn.


đây không phải là trường hợp của tôi Nếu tôi bật auto-rotate, sau đó điều hướng nó ở chế độ dọc, sau đó nhập ứng dụng, sau đó tắt auto-rotate, máy tính bảng của tôi sẽ quay trở lại ngang.
fostandy

Điều gì nếu bạn vô hiệu hóa auto-rotate, giữ máy tính bảng theo chiều ngang, sau đó khởi chạy một ứng dụng?
jlehenbauer

sau đó trình khởi chạy của tôi sẽ chuyển sang chế độ nằm ngang và ứng dụng cũng bắt đầu ở chế độ ngang
fostandy

Điều gì xảy ra nếu bạn làm điều tương tự, nhưng bắt đầu theo chiều dọc, ở chế độ dọc? Làm thế nào để launcher và ứng dụng phản ứng?
jlehenbauer

Tôi không thể - khi tôi tắt auto-rotatemáy tính bảng của mình sang chế độ nằm ngang. Để khởi động ứng dụng ở chế độ
dọc,

0

Chế độ Sideways

Tôi đã viết một ứng dụng để cho phép bạn sử dụng tự động xoay ngay cả khi bạn nằm nghiêng. Bạn có thể lấy nó từ cửa hàng Play tại đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.