码迷,mamicode.com
首页 > 移动开发 > 详细

小米Adnroid默认禁止悬浮框的使用,导致开发的悬浮框无法接收事件

时间:2015-11-30 22:06:35      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

比如你建了一个悬浮框:

WindowManager windowManager = getWindowManager(context);
		int screenWidth = windowManager.getDefaultDisplay().getWidth();
		if (smallWindow == null) {
			smallWindow = new FloatWindowSmallView(context);
			if (smallWindowParams == null) {
				smallWindowParams = new LayoutParams();
				smallWindowParams.type = LayoutParams.TYPE_SYSTEM_ALERT;
				smallWindowParams.format = PixelFormat.RGBA_8888;
				smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
						| LayoutParams.FLAG_NOT_FOCUSABLE;
				smallWindowParams.gravity = Gravity.LEFT | Gravity.TOP;
				smallWindowParams.width = FloatWindowSmallView.viewWidth;
				smallWindowParams.height = FloatWindowSmallView.viewHeight;
				smallWindowParams.x = screenWidth;
				smallWindowParams.y = 0;
				smallWindow.setVoipUIPaddingBottom(paddingBottom);
			}
			smallWindow.setParams(smallWindowParams);
			windowManager.addView(smallWindow, smallWindowParams);
		}

如果你用的是小米手机,你会发现这个窗口接收不到消息,消息会透传到下一层,如果下一层没有接收者,才会被接收。此时你把【安全中心】->【授权管理】->[应用权限管理]->【权限管理】中你的app的悬浮框设置为允许,就可以接收到消息了。这应该是小米ROM自己独特的地方,拿过其他手机测试都不存在这个情况。所以开发Android就这点不好,碎片化太严重,各有各的特色。

小米Adnroid默认禁止悬浮框的使用,导致开发的悬浮框无法接收事件

标签:

原文地址:http://www.cnblogs.com/cmgrass/p/5008397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!