美文网首页
Android 检测用户是否投屏方案

Android 检测用户是否投屏方案

作者: 辅助上分 | 来源:发表于2023-03-06 16:48 被阅读0次

通用方法

当前系统投屏监控使用 DisplayManager.registerDisplayListener方案来获取投屏回调,并且通过判断屏幕数量来观察用户是否投屏,如果lenth>1则认为是投屏成功,如果lenth<=1 则认为是未投屏。
回调注册:


    private void registerDisplayChange() {
        dm = (DisplayManager)
                getSystemService(Context.DISPLAY_SERVICE);
        dm.registerDisplayListener(new DisplayManager.DisplayListener() {       //屏幕添加
            @Override
            public void onDisplayAdded(int displayId) {
                
            }
        //屏幕删除
            @Override
            public void onDisplayRemoved(int displayId) {

            }

            @Override
            public void onDisplayChanged(int displayId) {

            }
        }, null);
    }
    

获取屏幕数量方法:

            Display[] displays = displayManager.getDisplays();
        length为屏幕数量 

兼容

这种方案主要会有兼容问题,主要有以下几点:

  • 第三方投屏可能再结束投屏后,不会回收虚拟屏幕,这个时候判断lenth会失败,可以根据第三方投屏虚拟屏幕的名称做判断。
  • 有些特殊设备,一开始就可能有两个屏幕,这种情况,需要配置白名单来过滤特殊设备的额外屏幕,同样也是根据名字。
  • 特殊设备屏幕录制,也可能触发以上回调,你也需要知道屏幕录制的虚拟屏幕名称做过滤。

相关文章

  • 小细节大体验-hyper

    初始化时,如果加载时间超出预定时间,就tips提示用户点击解决方案 检测初始加载页面用户是否截屏,如果截屏,就弹窗...

  • 多屏显示_1对9投屏方案

    多屏显示_1对9投屏方案 有用户咨询会议室多屏显示方案,要求如下:“笔记本电脑投屏在一个大屏幕的同时,需要8个手机...

  • 如何手机投屏电视只投图像不投声音

    如何手机投屏电视只投图像不投声音 用户有需求,AWIND奇机有方案,首次遇到手机投屏电视,希望声音保留才手机端的用...

  • 投屏相关资料

    参考 1.Android DLNA投屏-基本原理 2.Android DLNA投屏-基于CyberGarage开发...

  • iOS开发-检测用户截屏, 并获取所截图片

    微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片...

  • 检测用户的截屏事件

    微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片...

  • IOS开发 ---- 应用如何检测用户截屏

    微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片...

  • IOS开发 ---- 应用如何检测用户截屏

    微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片...

  • 多媒体教室电脑投屏组播解决方案

    多媒体教室电脑投屏组播解决方案 用户需求:无线投屏器的使用场景是老师使用电脑投放教学或者会议内容,包括PPT、音视...

  • 安卓适配

    ------刘海屏------屏幕适配 | Android 刘海屏适配总结Android刘海屏适配方案Androi...

网友评论

      本文标题:Android 检测用户是否投屏方案

      本文链接:https://www.haomeiwen.com/subject/qeexpxtx.html