我正在使用Android MediaRouter
(API 16)和Presentation
(API 17)類生成&管理輔助顯示。我按照ApiDemos中的示例創建了獨特的非鏡像輸出,到目前爲止它工作正常(使用通過HDMI電纜連接到HDTV的Nexus 10進行測試)。Android輔助顯示 - 跨活動調用的持久性
現在,我希望在Activity X
中創建的演示文稿對象繼續在輔助顯示屏上運行,即使Activity X
調用另一個Activity Y
。在這種情況下,Activity X
仍處於堆棧中,但Activity Y
現在位於其上。
問題是,當Activity Y
啓動時,物理輔助顯示恢復爲鏡像。當我退出Activity Y
時,Activity X's
演示的內容會返回(因爲我從未在其上調用過dismiss()
)。
所以問題是:即使下級活動正在本地設備上運行,我如何讓演示文稿附加到在該顯示器上運行的輔助顯示器?
更新:我認爲這樣做的一種方式是從後臺線程實例化Presentation
對象;那麼隨後創建的另一個Activity
不應該干擾後臺線程正在寫入的內容對其Presentation
對象。但我不確定這會起作用,因爲通常不允許從後臺線程更新UI。
如果可能的話,另一種方法是禁止從屬Activity
使用輔助顯示,從而防止當新的Activity
變爲活動狀態時輔助顯示恢復爲鏡像。但我還沒有找到辦法做到這一點。再次感謝您的任何建議。
你絕對需要活動X和活動Y作爲單獨的活動嗎?難道你不能用單個Activity X使用Fragment X1和Fragment X2完成相同的視覺效果?只是一個想法... – CommonsWare 2013-02-26 15:05:19
@CommonsWare:謝謝你的建議。按照你的建議,將X和Y組合成一個具有不同片段的活動也許是可能的,但在這種情況下,並非沒有很多手術。活動X實際上是一個SherlockFragmentActivity,它忙於管理多個選項卡/片段(通過ViewPager和FragmentStatePagerAdapter)。活動Y是兒童片段調用以提供「模態」類型操作的幾種活動之一。你認爲值得嘗試後臺線程方法嗎?或者這可能是一個死衚衕?再次感謝。 – gcl1 2013-02-26 15:22:56
如果你的後臺線程能夠工作,我會感到很驚訝,因爲你的問題似乎並不是'Presentation'沒有被更新,而是被鏡像取代。 – CommonsWare 2013-02-26 15:24:50