Androidアプリでスクリーンショットを禁止する方法


Androidアプリで、スクリーンショットをさせたくない場面があります。例えば、著作権が関わるものを表示する時。さすがに「カメラでスマホの画面を撮る」対策は不可能ですが、スクリーンショットを禁止するだけでも、一定の保存抑止効果はあると思います。

スポンサーリンク

コード

Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_SECURE);

これを、スクリーンショットを禁止したいActivityのコードに記入するだけです。空のActivityにこのコードを追加すると、

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_SECURE);
    setContentView(R.layout.activity_main);
}

このようなコードになります。

私のXperia Z5 Premiumでは、

このように保存が不可となりました。

スポンサーリンク

参考

https://dev.classmethod.jp/smartphone/android/prevent-screenshot/

ご覧いただきありがとうございました。

last

フォローする