悬浮窗里面设置VideoView

在Android 6.0及以上版本,悬浮窗需要手动申请权限。文章讨论了在获得权限后,若禁止权限可能导致VideoView在悬浮窗关闭时仍然播放的问题,以及解决这个问题的方案——通过持续检测权限来控制VideoView的显示与隐藏,提升用户体验。
摘要由CSDN通过智能技术生成

在Android6.0之后,悬浮窗权限需要手动申请

1.手动判断权限是否存在

if (Settings.canDrawOverlays(MainActivity.this))
{
    Intent intent = new Intent(MainActivity.this,MyService.class);
    startService(intent);
    finish();
}else
{
    //若没有权限,提示获取.
    Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
    Toast.makeText(MainActivity.this,"需要取得权限以使用悬浮窗",Toast.LENGTH_SHORT).show();
    startActivity(intent);
    finish();
}

遇到的问题:当获取到权限后,悬浮窗可以正常开启,禁掉权限后,悬浮窗没有了,但是videoView还在播放,效果很是难看。

(后期有看微信视频聊天的悬浮窗,在正在视频时,对权限进行操作也会出现这种问题,所以该问题就搁置了)这种操作一般人不会做,除非是专门的测试人员可能会有如此另类的操作吧。

建议(在每次开窗之前对悬浮窗进行判断,体验会好一点)

处理方案:

开启一条线程,一直判断权限是否存在,如果在,则显示VideoView,否则,隐藏VideoView

//子线程中检测权限
thread = new Thread(new Runnable() {
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值