首页 > 代码库 > Android Service中判断系统全屏
Android Service中判断系统全屏
1. 空layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > </LinearLayout>
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") @Override public 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 Service中判断系统全屏
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。