2012-02-03 53 views
12

在較新版本的Android(> 3.0)中,有一個屏幕上的按鈕, 將顯示最近的應用程序及其名稱和快照的列表。 即使我的應用本身受密碼保護,本概述可能會在該快照中顯示敏感數據。那麼是否有辦法強制顯示某個圖像(如徽標)而不是讓操作系統決定?如何更改最近的應用程序列表顯示的快照?

+0

還有其他的機會嗎? – Alex 2012-05-09 12:53:56

+0

另請參閱:http://stackoverflow.com/questions/9822076/how-do-i-prevent-android-taking-a-screenshot-when-my-app-goes-to-the-background – Snicolas 2012-08-08 05:08:43

回答

20

現在看來是不可能的。有一種叫做onCreateThumbnail的方法,但我猜測它現在沒有被系統使用,因爲它沒有被調用。我看到了兩個可能的解決方案:通過在AndroidManifest.xml

設置 android:excludeFromRecent屬性爲活動 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
2.從最近使用的應用排除您的活動:

1.通過添加 FLAG_SECURE到你的窗口禁用包含敏感數據的活動縮略圖
+0

@Azat:In我的應用程序,我有基於用戶偏好設置/清除FLAG_SECURE的功能。它工作正常,直到KITKAT和黑屏可以在任務切換器中看到,如果標誌設置。在棒棒糖中,概覽顯示我的應用(活動)的最後一個快照,即未設置(清除)FLAG_SECURE的時間。 http://stackoverflow.com/q/29564826/1263215 – 2015-04-13 12:43:49

2

Azat提供的解決方案在棒棒糖中仍然有效。

剛一說明,如果你想繼續發現近期列表快照爲整個應用,ALL實施的活動應在onCreate()方法setContentView();

之前指定標誌 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

否則,如果用戶在其中瀏覽,則最近列表中的快照將顯示沒有標誌的第一個活動。

相關問題