2011-06-03 52 views
0

我試圖在基於Web的應用程序框架(quickconnect)內部實現本地MapView。現在,整個框架由一個Activity組成(這是不可避免的,因爲框架完全在WebView中運行應用程序的主體,並且框架將javascript調用分析爲原生功能,例如聲音和本機系統視圖)。我意識到MapView是一個奇怪的野獸,因爲它需要在MapActivity中運行。Android中的重疊活動

所以這給我留下了兩個選擇,將運行框架的單個Activity轉換爲MapActivity,添加方法來操作MapView(與此相關的問題是我們希望將代碼返回給框架項目,系統將對待MapActivities的方式與普通活動不同,導致所有非地圖應用程序使用的資源超過必需量),或者以某種方式覆蓋主Activity(運行WebView)頂部的MapActivity,主活動正在進行通信通過Intents提供MapActivity。

我完全意識到覆蓋活動是Android應用程序設計的完全矛盾,但我想知道是否有可能。我查看了ActivityGroups,並且找不到任何自定義ActivityGroup的示例,這些示例同時在屏幕上顯示兩個活動,不會有重疊。

tl; dr:正在實現重疊在Android中可能的活動,我該怎麼做?

+0

您的問題需要空格,空行和問號末尾有一個明確的問題...... – Snicolas 2011-06-03 21:26:18

+0

清除了一下,增加了很多解釋,因爲我知道它完全違反了Android設計。 – Matt 2011-06-03 21:29:29

回答

0

目前還不清楚你的目標是如何實際運作的。假設你有「重疊的活動」。那又怎麼樣?你有什麼收穫?這不像來自第一個活動的JavaScript代碼可以對第二個活動做任何事情。您將必須在MapActivity中實現MapActivity的100%業務邏輯。不管怎麼說,因爲你必須教「快速連接」如何調用startActivity(),只需使用Java以普通的MapActivity來實現你的地圖,並且完成它。

如果OTOH,你的目標是快速連接支持JavaScript代碼來管理MapView,那麼你別無選擇,只能重構整個快速連接的可用的組合物,而不是繼承,所以QuickConnect的引擎可以在裏面的使用ActivityMapActivity。無論如何,這可能是必要的,因爲FragmentActivity是在Android兼容性庫中使用片段所必需的,有人可能會想象quickconnect應該使用片段提供平板電腦和電視支持。