你这样也不失为一种方法,只是一旦进入扩展后,不管在哪个界面总会有一个多余的按扭,除非完全退出扩展!看来你也是有点功底的,给点思路你自已可以实现一下
逻辑如下:
1,首先扩展的程序都是可以手动单独关闭的,不能关闭也没关系,我们后面会判断自动杀进程
2,扩展的UI也一样,有的有关闭按扭有的没有关闭按钮,同样也没关系,我们后面会判断自动杀进程
3,对每个扩展的主程序进行事件记录,主要用于后期的状态判断
4,长按MEDIA健对UI状态进行判断,为0时判断为UI未运行,则执行UI程序,同时UI状态置为1,为1时判断为UI已运行,则执行切换程序,当UI退出时或切换至后台超过30分钟时状态置为0,同时自动程序杀掉所有状态为1的进程
5,通过以上逻辑我们就可简单通过一个按键的操作有效避免程序重复运行及未关闭的情况
6,初看本逻辑也似乎不大合理,但本逻辑充分考虑与结合了中控屏的现实使用场景,所以实际使用中,完全没有任何的问题了。
7,只有一种情况,那就是切出扩展30分钟后,后台运行的扩展会自行关闭,但我想了好久,187A实在没有什么应用需要在使用扩展的情况下值得切出超30分钟,如果真有那就是我想不到的情况,所以超过这个时间估计大家也用不上扩展了,所以直接结束掉后台的程序最干脆!
8,唯一缺点,在扩展未退出的情况下对中控进行断电(即直接熄火超半小时或锁车),此时UI的记录状态无法置0,故下次使用时需长按MEDIA执行两次,第一次为识别UI状态为1执行的是切换程序,同时将状态置为0,第二次识别状态为0则执行UI程序。其实解决这个问题也不难,只是这个要烧进ROM里,一时还没找到好的触发入口!
文中像你只用到了KLD,逻辑会更简单!!!
像你提到的倒车影像问题,最开始的思路是想直接解悉总线过来的指令,但扩展的程序是无法与CAN进行通信的,没折,只能从车机上入手,如还是想走总线,那就要再次破解ROM了,这个没这么简单,退其次就是从按键上入手了,用物理按键就要牺牲原机的功能,用软按键,又不美观,再退其次,还是物理按键,绕了一大圈最后还是回到MEDIA按键上作文章~