# mypresentationdemo **Repository Path**: code_tjf/mypresentationdemo ## Basic Information - **Project Name**: mypresentationdemo - **Description**: 安卓板子的双屏异显效果 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2022-09-22 - **Last Updated**: 2024-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mypresentationdemo #### 介绍 安卓板子的双屏异显效果 #### 软件架构 软件架构说明 #### 使用说明 该demo只适合安卓板子的root下的测试 添加了悬浮窗的权限申请 有需求的需要添加相关运行时请求权限 ##### 1 bind启动副屏的服务 方式 1. 通过 ScreenServiceUtils这个类进行操作 ScreenBindServiceInterFace 先实现这个接口在进行其它操作 ``` 使用类实现 ScreenBindServiceInterFace 接口 实例化 ScreenServiceUtils.getInstance().setServiceInterFace(this);//启动bind辅屏服务 void initService();// 实例化 ServiceConnection 对象 void onServiceConnected(); //服务绑定成功 void showAuxiliaryScreenContent();//加载副屏的UI void onServiceDisconnected();//服务解绑成功 ``` ###### 1 bind启动副屏的服务 ``` 启动双屏异显服务 ScreenServiceUtils.getInstance().bindService(this); ``` ###### 2关闭双屏异显 ``` 关闭双屏异显 ScreenServiceUtils.getInstance().dimssSecondPresentation(); ``` ###### 3添加显示的副屏UI类 ``` 自定义副屏显示的view 需要继承 BasePresentionView 该类 ``` ###### 4 创建各种副屏布局和内部事件的处理 ``` PresentionAddViewUtils类中进行添加各种view和数据传递; ``` ###### 5 对类型和数据进行判断 来添加view 的处理接口 ``` 自定义类 实现 ScreenAddViewInterFace 这个接口 实现里面的方法 对类型和数据进行判断来添加view 的处理接口 onAddViewAndMsgEventBus(MsgEvent mapEvent, MultiScreenPresentation presentation) ``` ###### 6 关闭双屏异显服务 ``` 关闭双屏异显服务 ScreenServiceUtils.getInstance().close(this); ``` ##### 2 start启动副屏的服务 方式 ``` 1 使用类实现 ScreenStartServiceInterFace 接口 //辅屏启动并显示成功 void auxiliaryScreenStartsAndDisplaysSuccess(); ``` ###### 1 start 启动双屏异显服务 ``` //注册事件并进行启动服务 ScreenStartServiceUtils.getInstance().setServiceInterFace(this); ScreenStartServiceUtils.getInstance() .startService(this); ``` ###### 2 对类型和数据进行判断 来添加view 的处理接口 ``` 自定义类 实现 ScreenAddViewInterFace 这个接口 实现里面的方法 对类型和数据进行判断来添加view 的处理接口 onAddViewAndMsgEventBus(MsgEvent mapEvent, MultiScreenPresentation presentation) ``` ###### 3 在其ScreenStartServiceInterFace 接口的方法里进行操作辅屏 ``` //注册 处理 添加辅屏UI 的判断回调 ScreenStartServiceUtils.getInstance().setCallbackSecondaryScreenTypeAndContent(new 自定义的类名()); //添加辅屏的类型及数据 ScreenStartServiceUtils.getInstance().addAuxiliaryScreenTypeAndContent(type, json); ``` ###### 4 关闭双屏异显服务 ``` 关闭双屏异显服务 ScreenStartServiceUtils.getInstance().close(this); ``` #### 详细使用请看demo