Android(安卓)Service中判断系统全屏
16lz
2022-05-25
1. 空layout
<?xml version="1.0" encoding="utf-8"?>
2. java中定义layout变量
mFullScreenCheckView = (LinearLayout) inflater.inflate(R.layout.full_screen_layout, null);
3. 设置Global Layout Listener
private void createFullScreenCheckView() {SecLog.e(TAG, "createFloatView");WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();layoutParams.type = LayoutParams.TYPE_PHONE;layoutParams.format = PixelFormat.TRANSPARENT;layoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE;layoutParams.gravity = Gravity.LEFT | Gravity.TOP;layoutParams.width = 1;layoutParams.height = LayoutParams.MATCH_PARENT;mFullScreenCheckView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener(){@SuppressLint("NewApi")@Overridepublic void onGlobalLayout() {DisplayMetrics dm = new DisplayMetrics();mWindowManager.getDefaultDisplay().getMetrics(dm);int viewHeight = mFullScreenCheckView.getHeight();if(viewHeight == dm.widthPixels || viewHeight == dm.heightPixels){bIsFullScreen = true;}else{bIsFullScreen = false;}}});mWindowManager.addView(mFullScreenCheckView, layoutParams);}
参考:
1. https://stackoverflow.com/questions/22894108/detect-full-screen-in-android-from-service
2. https://stackoverflow.com/questions/18551135/receiving-hidden-status-bar-entering-a-full-screen-activity-event-on-a-service/19201933#19201933
更多相关文章
- Android(安卓)一个自定义View需要实现哪些方法
- 自定义按钮实现android 返回按钮 事件
- Ubuntu环境变量
- android 自定义Gallery
- 自定义android模块不编译的问题
- JDK ANT ANDROID Configure
- Android: 自定义Tab样式
- Lock-free atomic operations in Android
- android环境变量的配置