android遮挡系统拨号界面 类似360来电显示的那个绿色 页面,android360
项目中有个电话会议功能 发起电话会议时 需要显示一个会议操作界面 可以加人减人 结束会议的 但是发起会议的时候 系统的拨号界面就弹出来了 直接挡住了会议的操作界面 估计是系统的拨号界面权限比较高 永远显示在最前端 没办法 我也只能把我的会议操作界面显示在window的最顶层了 直接上代码 这代码也是我从网上找到资料根据自己需要改的 1.view显示到window最顶层方法 /** * * @Method: showTopWindow * @Description: 显示最顶层view */ public void showTopWindow(View view) { //window管理器 WindowManager windowManager = (WindowManager) getApplicationContext() .getSystemService(WINDOW_SERVICE); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT | WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY; // params.flags = LayoutParams.FLAG_NOT_FOCUSABLE; //设置全屏显示 可以根据自己需要设置大小 params.width = WindowManager.LayoutParams.FILL_PARENT; params.height = WindowManager.LayoutParams.FILL_PARENT; //设置显示初始位置 屏幕左上角为原点 params.x = 0; params.y = 0; // topWindow显示到最顶部 windowManager.addView(view, params); } 2.清除view方法 /** * * @Method: clearTopWindow * @Description: 移除最顶层view */ public void clearTopWindow(View view) { if (view != null && view.isShown()) { WindowManager windowManager = (WindowManager) getApplicationContext() .getSystemService(WINDOW_SERVICE); windowManager.removeView(view); } } 最后别忘了加权限: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 项目下载:点击打开链接 |
小鱼文聚评论