tôi đã tự hỏi nếu có một cách đơn giản để xem nếu một ứng dụng đang chạy trên Android hiện đang ở chế độ toàn màn hình. Có cách nào để truy vấn android để xem bạn có đang ở chế độ toàn màn hình hay gì đó tương tự không?Có cách nào để xác định xem ứng dụng Android có đang chạy toàn màn hình không?
Trả lời
Bạn có thể tìm hiểu xem Activity
của mình có đang chạy chế độ toàn màn hình qua getWindow().getFlags()
hay không.
Tuy nhiên, nếu theo "một ứng dụng" bạn đang đề cập đến ứng dụng của người khác thì câu trả lời là không.
Activity.hasWindowFocus() cho bạn biết liệu hoạt động của riêng bạn có hiển thị với người dùng hay không. Tuy nhiên, như ghi chú CommonsWare, khó có thể biết được liệu hoạt động khác là có nằm trên cùng của ngăn xếp hay không. Bạn có thể thử truy vấn ActivityManager
(ví dụ: ActivityManager.getProcessTasks()) nhưng phương pháp của nó không cung cấp câu trả lời chính xác cho câu hỏi của bạn.
bạn có thể sử dụng một số thứ như thế này;
findViewById(android.R.id.content).getHeight();
getResources().getDisplayMetrics().heightPixels;
và kiểm tra sự bình đẳng; hy vọng điều này sẽ giúp;
Tôi đoán Commonsware muốn nói getWindow(). GetAttributes() và không getWindow(). GetFlags(); vì getFlags không tồn tại như tôi biết. Ít nhất nó không có trong doc.
bạn cần đọc getWindow(). GetAttributes(). Flags, là một int.
WindowManager.LayoutParams lp = getWindow().getAttributes(); int i = lp.flags;
FLAG_FULLSCREEN = 1024 theo tài liệu Android. để cờ của bạn là miếng thứ 11 của lp.flags
nếu vết cắn này = 1, toàn màn hình được kích hoạt.
Chỉ cần để hoàn thành trên Sigwann câu trả lời:
boolean fullScreen = (getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0;
boolean forceNotFullScreen = (getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN) != 0;
boolean actionbarVisible = getActionBar().isShowing();
Tính đến api11 hiện nay là một cách để phát hiện rằng việc sử dụng một tài liệu hướng dẫn giao diện View.setOnSystemUiVisibilityChangeListener
Người nghe lưu ý những điều sau:
Định nghĩa giao diện cho một cuộc gọi lại được gọi khi thanh trạng thái thay đổi khả năng hiển thị. Báo cáo này báo cáo số toàn cầu thay đổi đối với trạng thái giao diện người dùng hệ thống, chứ không phải những gì ứng dụng đang yêu cầu.
Tôi không biết có cách nào để làm điều đó trước Honeycomb không.
Tiếp theo thông tin của Sigwann, đây mã của tôi ....
public boolean isFullScreen() {
int flg = getWindow().getAttributes().flags;
boolean flag = false;
if ((flg & WindowManager.LayoutParams.FLAG_FULLSCREEN) == WindowManager.LayoutParams.FLAG_FULLSCREEN) {
flag = true;
}
return flag;
}
đơn giản, nhưng các công trình!
Số ma thuật này có nghĩa là gì? –
Nó chỉ là một cách nhị phân để cung cấp cho một số với nhiều 0 – Alecs
Vẫn là số ma thuật. Tốt hơn để sử dụng: WindowManager.LayoutParams.FLAG_FULLSCREEN –
Có một hack đẹp, sử dụng vị trí tuyệt đối của View
trên màn hình. Chỉ cần kiểm tra vị trí của bất kỳ góc trên bên trái nào của bố cục của bạn (có thể ẩn), nếu nó ở vị trí 0,0.Như thế này:
/**
* Check if fullscreen is activated by a position of a top left View
* @param topLeftView View which position will be compared with 0,0
* @return
*/
public static boolean isFullscreen(View topLeftView) {
int location[] = new int[2];
topLeftView.getLocationOnScreen(location);
return location[0] == 0 && location[1] == 0;
}
- 1. Làm cách nào để biết ứng dụng toàn màn hình có đang chạy không?
- 2. Cách xác định xem thiết bị Android có màn hình cảm ứng không?
- 3. Cách xác định xem ứng dụng Windows có tắt màn hình không?
- 4. Xác định xem chế độ xem có trên màn hình hay không - Android
- 5. Làm cách nào để xác định xem có tồn tại lối tắt màn hình chính không?
- 6. xác định xem mã có đang chạy trên thời gian chạy của ứng dụng (Java)
- 7. Làm cách nào để xác định xem chương trình .NET Windows Forms của tôi đang chạy trên màn hình nào?
- 8. Xác định xem ứng dụng có đang chạy trong xanh hay không
- 9. Xác định xem một biểu mẫu có hoàn toàn tắt màn hình không
- 10. Có cách nào để xác định xem màn hình hiện tại có hỗ trợ cảm ứng không?
- 11. Có cách nào để ứng dụng Java phát hiện xem màn hình có bị khóa không?
- 12. Android xác định hướng màn hình khi chạy
- 13. C#: Cách phát hiện xem trình đọc màn hình có đang chạy không?
- 14. Phát hiện nếu người dùng có bất kỳ ứng dụng nào đang chạy ở chế độ toàn màn hình
- 15. Có cách nào để xác định xem mã GWT có đang chạy trong chế độ phát triển không?
- 16. Xác định xem cổng có đang được sử dụng không?
- 17. Bạn có thể chạy ứng dụng VB ở chế độ toàn màn hình không?
- 18. Xác định xem ứng dụng có đang chạy ở nền trước khi nhận được thông báo trên iOS
- 19. Cách xác định xem ứng dụng của bạn có đang chạy trên Máy chủ phát triển Python cục bộ không?
- 20. Cách xác định xem ứng dụng có phải là ứng dụng web hay không
- 21. PresentViewController không có toàn màn hình
- 22. Xcode/iOS: Cách xác định xem mã có đang chạy trong DEBUG/RELEASE build không?
- 23. Android PayPalKích hoạt không toàn màn hình
- 24. Làm cách nào để xác định xem ứng dụng .NET có 32 hay 64 bit không?
- 25. Cách xác định xem ứng dụng Android có mở từ Thông báo thông báo không?
- 26. iPhone cách tạo ứng dụng toàn màn hình?
- 27. đầy đủ ứng dụng màn hình android
- 28. Xác định xem ứng dụng có bị chặn/bận không?
- 29. C++, Cách xác định xem một tiến trình Windows có đang chạy không?
- 30. ViewPager trong Android đang chụp toàn màn hình?
Đáng giá cẩn thận trên dòng cuối cùng ở đó với getActionBar() .Show() - nếu bạn đã tắt thanh tác vụ trong chủ đề thay vì chỉ ẩn nó, thì getActionBar() có thể trở lại vô giá trị. – themightyjon