この記事は、http://buildbox.net/?p=787 からの転載です。
アプリケーションスタックにスクリーンショットを表示しないようにする方法を調べていて、やり方を見つけたのでその情報をシェアします。
※ そもそもアプリケーションスタックという呼び方でいいのかどうかって問題はありますね(^^;)
やり方は簡単で、スクリーンショットをActivity#onCreateメソッドで以下のメソッドを呼び出せばOK 。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
やり方は簡単なのですが、1点注意。上記呼び出しが行われたActivityでは画面録画した時に真っ黒となってしまい、録画ができなくなってしまいます。
そのため、実際に利用するときには
if (!BuildConfig.DEBUG) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
みたいにしてやって、デバッグビルドの時にはフラグをONにしないような制御をしてやるといいでしょう。