Firefly开源社区

打印 上一主题 下一主题

3288的双屏异显,副屏无法打开activity

23

积分

0

威望

0

贡献

游客

积分
23

3288的双屏异显,副屏无法打开activity

发表于 2018-2-22 08:46:30      浏览:9319 | 回复:4        打印      只看该作者   [复制链接] 楼主
本帖最后由 cevictorle 于 2018-2-22 08:48 编辑

各位大大好,小弟已经打开了板子的双屏异显功能,可以移动app到副屏,并且做到了两块触摸屏设备事件分别分发到主副屏。
然而副屏的app只能在MainActivity上操作,如果尝试startActivity就会报错,log如下:
Activity Manager Crash
java.lang.IndexOutOfBoundsException: Invalid index 1, size is 0at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.add(ArrayList.java:147)
at com.android.server.wm.Task.addAppToken(Task.java:50)
at com.android.server.wm.WindowManagerService.addAppToken(WindowManagerService.java:4547)
at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:2363)
at com.android.server.am.ActivityStackSupervisor.startActivityUncheckedLocked(ActivityStackSupervisor.java:2282)
at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1575)
at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1008)

at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:3529)
at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:3516)
at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:139)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2309)
at android.os.Binder.execTransact(Binder.java:446)
大概就是apptoken的list溢出了
请问有什么办法可以让副屏也能打开activity呢
回复

使用道具 举报

179

积分

0

威望

0

贡献

技术小白

积分
179
发表于 2018-2-24 09:24:18        只看该作者  沙发
遇到同样的问题,只要在副屏APP上调用startActivity就会崩溃
回复

使用道具 举报

23

积分

0

威望

0

贡献

游客

积分
23
发表于 2018-2-28 05:40:47        只看该作者  板凳
vinsionLeo 发表于 2018-2-24 09:24
遇到同样的问题,只要在副屏APP上调用startActivity就会崩溃

我最近还在继续研究这个问题,应该是副屏的content没有初始化activity栈,如果有进展会在这里贴。加油
回复

使用道具 举报

23

积分

0

威望

0

贡献

游客

积分
23
发表于 2018-3-2 05:47:16        只看该作者  地板
自顶,官方实现是把window移动到seconddisplaycontent里面,然后为了不随主屏退出所以从返回栈里清掉了这个apptoken,等到退出双屏时再加进来。看起来如果想要副屏能开activity在副屏上,要么在ams里面再加一个activitystack专门给副屏用,要么想办法在同一个栈里同时不被主屏影响。继续研究中
回复

使用道具 举报

20

积分

0

威望

0

贡献

技术小白

积分
20
发表于 2018-10-10 16:24:29        只看该作者  5#
楼主实现了吗?求分享思路
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表