スクリーンショットの検出
一言で表すと
ユーザーがスクリーンショットの操作を行ったことを検出できるようになった
概要
AndroidManifestに以下を追加する
code:AndroidManifest.xml
<uses-permission android:name="android.permission.DETECT_SCREEN_CAPTURE" />
Activityにコールバックを登録する
code:kotlin
val screenCaptureCallback = Activity.ScreenCaptureCallback {
// Add logic to take action in your app.
}
override fun onStart() {
super.onStart()
// Pass in the callback created in the previous step
// and the intended callback executor (e.g. Activity's mainExecutor).
registerScreenCaptureCallback(mainExecutor, screenCaptureCallback)
}
override fun onStop() {
super.onStop()
unregisterScreenCaptureCallback(screenCaptureCallback)
}
気になるポイント
mayamito.icon もともとスクリーンショットを無効化する仕組みはあったけど、今回のでユーザーに警告を出すこともできるようになったってことかな。マッチングアプリとかの開発だと嬉しい?
code:kotlin
activity.getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE)
メモ
コメント
Go.icon スクショが大事な体験とかなら、そのログ集計するとかに使えそう。