アプリケーションスタックでスクリーンショットを表示しないようにする

アプリケーションスタックにスクリーンショットを表示しないようにする方法を調べていて、やり方を見つけたのでその情報をシェアします。
# そもそもアプリケーションスタックという呼び方でいいのかどうかって問題はありますね(^^;)

やり方は簡単で、スクリーンショットをActivity#onCreateメソッドで以下のメソッドを呼び出せばOK 。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

やり方は簡単なのですが、1点注意。上記呼び出しが行われたActivityでは画面録画した時に真っ黒となってしまい、録画ができなくなってしまいます。
そのため、実際に利用するときには

if (!BuildConfig.DEBUG) {
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}

みたいにしてやって、デバッグビルドの時にはフラグをONにしないような制御をしてやるといいでしょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください