[解決済み] アプリがバックグラウンドになったときに、Androidがスクリーンショットを撮るのを防ぐにはどうすればよいですか?
質問
現在作っているアプリで、セキュリティ上の理由からアプリがバックグラウンドに追いやられているときに、OSがスクリーンショットを撮れないようにしなければならないという要件があります。この方法では、アプリを切り替えるときに、最後にアクティブだった画面を見ることができません。
この機能をアプリケーションクラスのonPauseメソッドに搭載しようと思っているのですが、まず、この機能をどのように実現したらよいかを調べる必要があります。
どなたか、この問題を解決する手がかりをお持ちの方はいらっしゃいませんか?
解決方法は?
試す
FLAG_SECURE
:
public class FlagSecureTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
setContentView(R.layout.main);
}
}
これにより、手動によるスクリーンショットやICSの最近のタスク履歴からの自動スクリーンショットに対する安全性が確保されます。また、画面録画(例:メディアプロジェクションAPIを使用するアプリ)に対しても安全です。
アップデイト また、Android 6.0のNow On Tapやその他のアシスタントに対しても安全です。ユーザーがアシスタントを起動しても、UI内のウィジェットやコンテナの詳細にアクセスすることはできません。
アップデイトその2
しかし、アクティビティ内のすべてが保護されるわけではありません。すべてのポップアップウィンドウは
Dialog
,
Spinner
,
AutoCompleteTextView
やアクションバーのオーバーフローなど、安全性が損なわれます。を修正することができます。
Dialog
を呼び出すことで、この問題を解決することができます。
getWindow()
を設定し、その上で
FLAG_SECURE
. あとは...難しいですね。参照
このブログの記事
をご覧ください。
関連
-
[解決済み】IllegalStateException: ViewPager で onSaveInstanceState の後にこのアクションを実行できません。
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
ライブラリをモジュールとしてインポートする際にエラーが発生しました。Error:A problem occurred configuring project ':library'.
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
Androidのカラーグラデーション実装のまとめ
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidで背景を20%透明にする方法
-
[解決済み] Androidでプログラム的にスクリーンショットを撮るには?
-
[解決済み] Androidアプリがバックグラウンドになり、フォアグラウンドに戻ることを検知する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
Android のパッケージングに失敗し、Android リソースのリンクに失敗したことを示すプロンプトが表示される
-
android studioが "The activity must be exported or contain an intent-filter" と表示され実行される。
-
Android Nで報告されたエラーを解決する: android.os.FileUriExposedException: file:///storage/emulated/0/
-
アンドロイドのエリプサイズを使用する
-
アンドロイドシェイプ、グラデーション、角丸、ボーダーラインの設定
-
超シンプルなアンドロイドのタイムディレイ機能
-
Android Studio http://schemas.android.com/apk/res/android 「URIが登録されていません」の解決方法について
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない
-
[解決済み] Androidで画面キャプチャを防止する方法