2014-07-09 47 views
0

我的活動通過單擊按鈕創建系統覆蓋視圖。我希望這個視圖能夠在其他所有視圖中保持可見,直到我在另一個按鈕單擊活動時關閉它。如何避免系統覆蓋視圖關閉

問題是Android會在幾秒內自動殺死該視圖,如果我打開其他應用程序的幾個。我知道這是Android管理其資源的預期行爲。但有沒有辦法告訴Android不要關閉這個視圖?我試圖在IntentService中創建疊加層,但沒有任何區別。

查看創建代碼:

mFrameLayout = new FrameLayout(mContext); 
mFrameLayout.setBackgroundColor(mContext.getResources().getColor(R.color.black)); 
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
     WindowManager.LayoutParams.MATCH_PARENT, 
     WindowManager.LayoutParams.MATCH_PARENT, 
     WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
     WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, 
     PixelFormat.TRANSLUCENT 
     ); 
WindowManager windowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); 
windowManager.addView(mFrameLayout, params); 

回答

1

使用服務來創建系統的覆蓋圖。

不是IntentService,只是擴展Service。 即使應用程序通過返回「START_STICKY」

+0

即使應用程序進入背景也能正常工作正如OP所述,它沒有任何區別。 – faizal

+0

@faizal現在嘗試... –

+0

輝煌!謝謝。 – faizal