我正在使用 Android MediaRouter
(API 16) 和Presentation
(API 17) 类来生成和管理辅助显示器。我按照ApiDemos中的示例创建了独特的非镜像输出,到目前为止它工作正常(使用通过 HDMI 电缆连接到 HDTV 的 Nexus 10 进行测试)。
现在,我有一种情况,我希望在其中创建的 Presentation 对象Activity X
继续在辅助显示器上运行,即使Activity X
调用另一个Activity Y
. 在这种情况下,Activity X
仍然在堆栈上,但Activity Y
现在在它的顶部。
问题是Activity Y
启动时,物理辅助显示器会恢复为镜像。当我 exit时, PresentationActivity Y
的内容会返回(因为我从未调用过它)。Activity X's
dismiss()
所以问题是:即使从属活动正在本地设备上运行,我如何才能将演示文稿附加到在该显示器上运行的辅助显示器?
更新:我想到的一种方法是Presentation
从后台线程实例化对象;那么随后创建另一个Activity
不应干扰后台线程写入其Presentation
对象的内容。但我不确定这是否可行,因为通常不允许从后台线程更新 UI。
如果可能,另一种方法是禁用下属显示器使用辅助显示器,从而防止它在新显示器变为活动状态Activity
时将辅助显示器恢复为镜像。Activity
但我也没有找到办法做到这一点。再次感谢您的任何建议。