关于Android悬浮窗的展示,6.0-8.0(不包含8.0),8.0及以上版本适配。

这里先暂且不谈6.0以下的设备的适配。(由于国产机适配比较麻烦,公司没有提供足够的测试机,所以我就只做了6.0及6.0以上的设备)

首先,Android悬浮窗权限是在6.0及6.0以上的设备才统一设立的。(部分国产机在6.0以下就处理了这个权限)

Android悬浮窗的权限名称为:SYSTEM_ALERT_WINDOW

它是运行时权限中的特殊权限中的一个。

它不能通过 Activity 的 requestPermissions() 方法去申请。申请这个权限 永远返回的是 false。

它必须通过 Intent 去申请权限,示例代码如下:

//去申请悬浮窗权限
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
startActivity(intent);

那么如何去知道是否已经拥有了这个悬浮窗权限呢?示例代码如下:

Settings.canDrawOverlays(getActivity().getApplicationContext())

权限申请成功之后,那么接下来就是显示悬浮窗了。这里不谈原理,只谈怎么实现以及8.0的适配。

问题:我按照网上的教程设置了 WindowManager.LayoutParams的type为

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值