最近大半个月一直在折腾Firefly-RK3399开发板实现双屏异显和异触的功能。在这里不得不吐槽一下萤火虫的售后服务支持!额???所谓的官方群和论坛形同摆设,在里面10个人的问题中有一个人能得到回答就是不错了。自己能够实现双屏异触要感谢公司、经理和公司同事,给予了很多帮助和支持才得以解决。废话不多说了,现在进入正题。本篇文章涉及到的解决方式均在RK3399的开发版上进行了测试,至于其他版子理论上来说解决的方式都是一样的。另外这边文章只是给出简单的解决方法,至于具体的原理不会解释(有些地方我也是一知半解嘿嘿)文章末尾有相关的连接读者可以自行阅读。
目录
- 知识准备
- 原生双屏解决方案,主屏没有焦点事件
- C++日志打印
- 主屏幕可以触摸,副屏不触摸
- 双屏异触的解决方法
- 总结
1. 知识准备
本篇文章android双屏的实现方式是Google提供的Presentation类实现的。下面参考中有相关的连接可已查看。之所以在此强调说是Presentation的实现方式,是因为我在做双屏异显,阅相关读资料的时候发现双屏异显是有两种实现方式。我们常用的是Presentation这种方式,网上大多介绍的也是这种方式。另外一种实现方式是RK DualScreen方式,这种方式网上的资料很少,需要对android系统源码进行多出修改才能实现。
实现异触具备的条件:
- Android系统源码编译
- C/C++知识
- 对从Android源码角度分析事件分发有些了解
- 对linux系统的集成知识有一些了解
2. 原生双屏解决方案,主屏没有焦点事件
我在通过Presentation实现双屏异触的时候发现,两个屏幕显示相同的画面,主屏和副屏的触摸都是没有问