Trước tiên, hãy suy nghĩ thật lâu và thật kỹ nếu bạn thực sự muốn vô hiệu hóa Home
nút hoặc bất kỳ nút nào khác cho vấn đề đó (ví dụ: Back
nút), đây không phải là điều nên làm (ít nhất là trong hầu hết các trường hợp, đây là một thiết kế tồi ). Tôi chỉ có thể nói cho bản thân mình, nhưng nếu tôi đã tải xuống một ứng dụng không cho phép tôi làm điều gì đó như nhấp vào nút OS, điều tiếp theo tôi làm là gỡ cài đặt ứng dụng đó và để lại một đánh giá rất tệ. Tôi cũng tin rằng ứng dụng của bạn sẽ không được giới thiệu trên App Store.
Hiện nay...
Lưu ý rằng MX Player
đang yêu cầu quyền vẽ trên các ứng dụng khác:
Vì bạn không thể ghi đè Home
nút trên Android
thiết bị (ít nhất là không có trong các phiên bản hệ điều hành mới nhất). MX Player
tự vẽ lên trên trình khởi chạy của bạn khi bạn "khóa" ứng dụng và nhấp vào Home
nút.
Để xem ví dụ về điều đó đơn giản hơn một chút và dễ hiểu hơn, bạn có thể xem Ứng dụng Facebook Messenger .
Vì tôi được yêu cầu cung cấp thêm một số thông tin về MX Player Status Bar
và Navigation Bar
"ghi đè", tôi đang chỉnh sửa câu trả lời của mình để bao gồm các chủ đề này.
Điều đầu tiên, MX Player đang bật Chế độ toàn màn hình đắm chìm ( DevBytes Video ) KitKat
.
Android 4.4 (API cấp 19) giới thiệu cờ SYSTEM_UI_FLAG_IMMERSIVE mới cho setSystemUiVisibility () cho phép ứng dụng của bạn thực sự ở chế độ "toàn màn hình". Cờ này, khi kết hợp với các SYSTEM_UI_FLAG_HIDE_NAVIGATION và SYSTEM_UI_FLAG_FULLSCREEN cờ, da điều hướng và thanh trạng thái và cho phép chụp ứng dụng của bạn tất cả các sự kiện liên lạc trên màn hình.
Khi chế độ toàn màn hình đắm chìm được bật, hoạt động của bạn sẽ tiếp tục nhận được tất cả các sự kiện cảm ứng. Người dùng có thể hiển thị các thanh hệ thống bằng cách vuốt vào trong dọc theo vùng mà các thanh hệ thống thường xuất hiện. Thao tác này sẽ xóa cờ SYSTEM_UI_FLAG_HIDE_NAVIGATION (và cờ SYSTEM_UI_FLAG_FULLSCREEN , nếu được áp dụng) để các thanh hệ thống trở nên hiển thị. Điều này cũng kích hoạt View.OnSystemUiVisibilityChangeListener của bạn , nếu được đặt. Tuy nhiên, nếu bạn muốn các thanh hệ thống tự động ẩn lại sau một lúc, bạn có thể sử dụng cờ SYSTEM_UI_FLAG_IMMERSIVE_STICKY để thay thế . Lưu ý rằng phiên bản "cố định" của cờ không kích hoạt bất kỳ trình nghe nào vì các thanh hệ thống được hiển thị tạm thời trong chế độ này đang ở trạng thái tạm thời.
Thứ hai: Ẩn thanh trạng thái
Thứ ba: Ẩn thanh điều hướng
Xin lưu ý rằng mặc dù sử dụng toàn màn hình đắm chìm chỉ dành cho KitKat
, nhưng ẩn Status Bar
và Navigation Bar
không chỉ dành cho KitKat
.
Tôi không có nhiều điều để nói về thứ 2 và thứ 3, Bạn có thể hiểu được ý tưởng mà tôi tin rằng, đó là một cách đọc nhanh trong mọi trường hợp. Chỉ cần đảm bảo rằng bạn chú ý đến View.OnSystemUiVisibilityChangeListener .
Tôi đã thêm một Gist giải thích ý của tôi, nó chưa hoàn chỉnh và cần sửa một chút nhưng bạn sẽ hiểu. https://gist.github.com/Epsiloni/8303531
Chúc may mắn khi thực hiện điều này, và vui vẻ!