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" />

可能这个方法不是很好 目前只有这个办法 有什么更好方法的欢迎学习交流

项目下载:点击打开链接

www.xyjys.comtrue/article/20231129/2444283.htmlTechArticleandroid遮挡系统拨号界面 类似360来电显示的那个绿色 页面,android360 项目中有个电话会议功能 发起电话会议时 需要显示一个会议操作界面 可以加人减人 结束会议的 但是发起会议的时候...

相关文章

    暂无相关文章

小鱼文聚评论

XY推荐