2013-02-04 91 views
8

的Android 4.0之前,你可以創建和覆蓋在與TYPE_SYSTEM_OVERLAY任何應用程序,並獲得觸摸與FLAG_WATCH_OUTSIDE_TOUCH ...現在與Android 4,你不能接受的接觸。系統覆蓋的Android 4.0

基本上這個想法跟在這個應用程序, http://www.appbrain.com/app/smart-taskbar-%28sidebar%29/com.smart.taskbar 您可以保持您的應用程序打開,或始終在最上面。它會運行任何應用程序。

伊夫看着每一個地方,用於在Android 4.0中使用,但沒有運氣的信息,甚至源代碼...現在...我知道肯定有應用程序,仍然做到這一點甚至在4.0 ...還有一個辦法。有任何想法嗎?

+0

「我知道確實有些應用程序仍然會在4.0版本中執行此操作」 - 您引用的應用程序不需要使用「FLAG_WATCH_OUTSIDE_TOUCH」來實現其功能。 – CommonsWare

+0

即時猜測這是一個艱鉅的任務.. – NightSkyCode

回答

8

我發現a full sample app here that works for Android 4.0

這裏是亮點:

創建疊加圖,建立的LayoutParams 不要 設置爲TYPE_SYSTEM_OVERLAY類型時。

相反,它設置爲TYPE_PHONE

使用下列標誌:

FLAG_NOT_TOUCH_MODAL

FLAG_WATCH_OUTSIDE_TOUCH

FLAG_NOT_TOUCH_MODAL < <這個是非常重要的。沒有它,重點是覆蓋和軟鍵(主頁,菜單, 等)按不會傳遞到下面的活動。

此外請確保您將SYSTEM_ALERT_WINDOW權限添加到 mainifest文件。

+0

謝謝生病嘗試這個!很好的發現。但是我試圖導入項目到eclipse和完整的項目dosnt似乎在那裏?幫助..此外,我得到了公認最好的答案 – NightSkyCode

+1

你的意思是你無法逃避http://www.jawsware.mobi/code_OverlayView/code/InteractiveOverlaySample.zip下載的項目? – StarPinkER

+1

@Maddawg在Eclipse中,您必須從現有來源創建新的Android項目。 – Micer