view 的上方了, 但是调用这个方法需要申请android.permission.SYSTEM_ALERT_WINDOW权限, 在很多机型上, 这个权限的名字叫悬浮窗, 比如小米手机上默认是禁用这个权限的...验证
实际测试了一下, 将 type 设置成 TYPE_TOAST 果然有奇效, 不需要android.permission.SYSTEM_ALERT_WINDOW权限就能显示一个悬浮窗....关于针对源代码的分析, 请看 Android 悬浮窗使用 TYPE_TOAST 的小结
实测效果
我之前写的一个 app 有悬浮窗播放功能, 支持拖动窗口和点击暂停, 关闭窗口等等, 在 4.4.4 上实测功能正常...(并且给一个 Activity 的话按下 HOME 键会出现看不到桌面上的图标异常情况)TYPE_TOAST: 不属于悬浮窗, 但有悬浮窗的功能, 缺点是在 Android2.3 上无法接收点击事件TYPE_SYSTEM_ALERT...: 属于悬浮窗, 但是会被禁止
尾声
现在我们都知道了如何在不申请权限的情况下显示悬浮窗, 我相信以中国 Android 开发者的脑洞, 一定会有很多有趣或恶心的功能被开发出来, 一方面我自己觉得这个东西很有用