最近ACDisplayロック画面アプリをダウンロードしました:
https://play.google.com/store/apps/details?id=com.achep.acdisplay
アプリケーションはデバイスにオーバーレイを表示すると同時に、activity
でhome button click
を検出するため、ロック画面をバイパスできません。また、ルート化されていないデバイスでrecent button
を完全に隠すこともできます。そんなことがあるものか?
私は次のリンクを通過しました:
ユーザーがアクティビティでHOMEキーを押すのをどのように検出できますか?
ユーザーがアクティビティでHOMEキーを押すのをどのように検出できますか?
以前のバージョンのAndroid
ORで機能するために使用されたすべてのソリューションは、home
ボタンのクリックが悪意のあるユーザーによって使用される可能性があるため、検出できないと述べていますアプリ。
このアプリケーションはどのようにしてこれを行うことができますか?
認証に成功するまでユーザーがロック画面アプリを終了するのを防ぐ方法について、誰かがサンプルコード/アプリを共有できますか?
ありがとうございました。
WindowManager windowManager = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
} else {
layoutParams.type = WindowManager.LayoutParams.TYPE_PHONE;
}
layoutParams.gravity = Gravity.TOP | Gravity.LEFT;
layoutParams.x = 0;
layoutParams.y = 0;
layoutParams.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
View window = LayoutInflater.from(this).inflate(R.layout.activity_main, null, false);
windowManager.addView(window, layoutParams);
次のコードは、要件に従ってホーム、戻る、および[最近]ボタンをブロックします。
マニフェストで次の権限も必要です。
<uses-permission Android:name="Android.permission.SYSTEM_ALERT_WINDOW" />
最近のボタンとホームボタンを無効にすることはできませんが、Window Managerlink を使用してこれを達成できます。 Androidアプリケーション画面にオーバーレイします。