7

ロック画面に表示され、タッチ イベントを受け取ることができるダイアログを作成したいと考えています。ウィンドウを作成しましたが、GB (Android 2.3.7) のロック画面にフラグWindowManagerのみが表示されます。TYPE_SYSTEM_OVERLAY

ロック画面に表示され、Android 2.3.7 でタッチ イベントを受信できるシステム オーバーレイを作成する方法はありますか?

にバグがありましたが、FLAG_WATCH_OUTSIDE_TOUCHそれが私にどのように影響するかはわかりません。何か案は?

4

3 に答える 3

3

プログラムでアプリケーションを管理者特権アプリとしてバインドせずに、デバイスがロックされるたびにアクティビティを起動できるとは思いません。

アプリが管理者特権アプリになると、プログラムでパスワードを設定し、画面をロックしてから、デバイス ポリシー マネージャーを使用してプログラムでロックを解除できます。

そのロック画面の上で、プログラムで独自のアクティビティを起動できます 。また、 DeviceAdminReceiverを介してコールバックを取得できるため、そのアクティビティを通じて独自のロック解除ツールを作成してデバイスのロックを解除できます。

これがその良い例です。必要なのは、DevicePolicyManager.lockNow() を呼び出した後に独自のアクティビティを作成することだけです。次に、通常のアクティビティとしてロック画面の上に表示され、ネイティブのロック画面をさらに制御できます。

于 2013-07-02T12:23:10.900 に答える
2

これを試してみてください

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.alertdialog);

また、Android は少し矛盾しています。非常にオープンで、開発者として何にでもアクセスできます。その力を善悪のために使うのはあなた次第です。私が言う悪は、マルウェアのことではありません。アプリをもっと使ってほしいという通知を表示するなど、意図されていない方法で物事を使用したり、かわいらしくしようとするアプリを意味します。矛盾は、実際にはすべてにアクセスできるわけではないということです。開発者が非常に重要であると判断した部分がいくつかあり、アプリがそれらをいじることができませんでした. ロック画面はその一部です。ホームアプリを好きなだけ置き換えることができますが、交換用のロック画面が失敗して電話にアクセスできなくなることを心配する必要はありません.

これが可能であったとしても、対処すべき問題はさらに多くなります。すべてのロック画面は異なります。メーカーはそれをカスタマイズできますし、実際にカスタマイズしているため、アクティビティが電話のロック解除を妨げないという保証はありません.

ダイアログの外側に触れるには、

dialog.setCanceledOnTouchOutside(your boolean);
于 2013-07-01T08:44:45.403 に答える