2012-05-10 38 views
3

在我的應用程序都被顯示用戶的敏感數據(收件箱,密碼,銀行賬戶餘額等)的活動。這些部分當然是密碼保護的,並且用戶在一段時間後會自動註銷(這是在onRestart()中檢查的)。問題是當這個應用程序運行在Android 3.0+(最近的應用程序菜單包含最近應用程序的圖像)時,這些敏感數據在此菜單中可讀。有沒有辦法將該圖像更改爲應用程序徽標或其他內容?
我已經嘗試使用EXCLUDE_FROM_RECENTS標誌在新任務中啓動這些部分,這有助於幫助但是正在中斷用戶體驗。
其他選項在onPause()方法中嘗試啓動某種「標誌活動」,它將在onRestart()中停止並將顯示在最近的應用程序菜單中。
其他/更好的建議?謝謝!最近的應用程序菜單更換圖像

回答

10

有沒有辦法改變這種形象,以應用程序的標誌或其他什麼東西?

添加FLAG_SECURE到窗口處理這,IIRC:

public class FlagSecureTestActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    getWindow().setFlags(LayoutParams.FLAG_SECURE, 
         LayoutParams.FLAG_SECURE); 

    setContentView(R.layout.main); 
    } 
} 

這也塊與截圖支持ICS設備的屏幕截圖。

+0

謝謝!非常簡單和優雅的解決方案
在摩托羅拉Xoom(Android 3.2)和Galaxy Nexus(Android 4.0.4)上測試 – Warlock

+0

短暫測試後的其他一些事實。 1.在某些設備(HTC EVO 3D)上無法正常工作。通過將代碼中的API級別設置爲11或更高來修復。 2.方法onCreateThumbnail永遠不會被調用(在各種設備上測試)。據我所知這種方法從來沒有要求內存/ CPU使用率。 – Warlock

相關問題