問題タブ [keyguard]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - Android Phone のログオン時に PIN、パスワード、またはパターンが使用されているかどうかを確認する
Android スマートフォンにログインするときに、パスワード、暗証番号、またはパターンが必要かどうかを判断しようとしています。電話がログオン時にパターンを使用するかどうか、およびパスワード/ピン番号がログオン時に使用されるかどうかを判断できますが、電話がログオン時にパスワードのみとピン番号のみを使用する場合はどうすればわかりますか?
以下のコードは、私がこれまでに持っているものです。
android - AndroidのKeyguardManagerのisDeviceLockedとisKeyguardSecureの違いは何ですか?
以下はhttp://developer.android.com/reference/android/app/KeyguardManager.htmlからの抜粋です
public boolean isDeviceLocked ()
デバイスが現在ロックされていて、ロックを解除するために PIN、パターン、またはパスワードが必要かどうかを返します。現在、デバイスのロック解除に PIN、パターン、またはパスワードが必要な場合は true を返します。
public boolean isKeyguardSecure ()
キーガードのロックを解除するためにパスワードが必要かどうかを返します。キーガードが安全な場合は true を返します。
isDeviceLockedとはどう違いisKeyguardSecureますか?
android - キーガードを無効にしないdisableKeyguard
このコードを使用してキーボードを無効にし、ホームボタンを無効にしています。キーガードを無効にしたいアクティビティでこれを使用しているので、サービスからキーガードを呼び出す必要がありますか? そうでない場合、なぜキーガードが無効にならないのですか?
android - プログラムで画面のロックを解除する
にシェアボタンがありGCM notificationます。共有ボタンをクリックすると、共有インテントを起動する必要があります。すべてが完璧に機能します。私が直面している唯一の問題は、Lollipopロック画面機能です。ロック画面から共有ボタンをクリックすると、ロック画面の下にインテント ダイアログが表示され、ユーザーは画面のロックを解除してダイアログを表示する必要があります。共有ボタンがクリックされたときに、プログラムで画面のロックを解除したい。
Power Manager を試してみましたが、そのwakeClockフラグはすべて非推奨でありWindowManager.LayoutParams.Flag_KEEP_SCREEN_ON、使用することをお勧めします。しかし、ここではアクティビティを使用していません。を使用してbroadcastReciever contextいます。したがって、getWindow()メソッドを使用できません。
私も試してみましたKeyguardManager。しかし、disableKeyguard()廃止されました。
Intent.ACTION_SCREEN_ON画面のロックが解除された後にアクションを実行したい場合は、これを使用する必要があるため、 を使用できません。
以下のインテントを使用して、通知トレイをプログラムで閉じました。
画面のロックを解除するためにブロードキャストできる同様の意図はありますか
DevicePolicyManager を使用して更新されたコード:
DevicePolicyManager を使用しても、画面のロックが解除されません
android - Android FLAG_SHOW_WHEN_LOCKED とキーガード ロック
私のアプリケーションには、android.intent.action.BOOT_COMPLETED ブロードキャストが受信されたときに BroadcastReceiver によって起動されるアクティビティがあります。
アクティビティは、Keyguard (セキュア) で全画面表示する必要があります。アクティビティは Theme.NoTitleBar.Fullscreen テーマを使用しており、アプリ マニフェストで設定され、WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED を使用してキーガードを配置しています。
キーガードを置き換えたり無効にしたりするつもりはありません。アクティビティは、デバイスに関するいくつかの診断情報を表示するだけで、ユーザーが閉じるまでアクティブなままにする必要があります。
そのため、デバイスが起動すると、通常はキーガードが表示され、数秒後にアクティビティも開始されます。アクティビティは、タイトル バーのないフル スクリーン モードでキーガード上にうまく表示されます。これらはすべて、Sony と Samsung のテスト デバイスで問題なく動作しました。
今日、LG G2 デバイス (Android 4.4.2) でアプリをテストしていて、奇妙な問題に気づきました。問題は、フルスクリーン アクティビティが閉じられ (一時停止され)、キーガードが再び起動されることです。
コードを調べて、この動作の原因を突き止めようと半日を費やしました。最後に、システム通知がタイトルバーに表示されるたびに、アクティビティが却下されることに気付きました。私の場合、通知は「バッテリーがいっぱいです」と「バッテリーを節約するためにプラグを抜いてください」です。テストする機会はありませんでしたが、おそらく他の通知でも同じことが起こるでしょう。
システム通知を抑制または無視して、フルスクリーン アクティビティが一時停止しないようにする方法はありますか?
android - キーガードのロックを解除した後にホームボタンを押すとロリポップの画面が真っ暗になる
ここで言及されている問題、 Screen Blackoutに直面しています。解決策が見つからないので、解決する方法があれば教えてください。
android - プログラムでキーボードのロックを解除するアプリを取得できません [既存のソリューションはどれも機能しません!]
私は Stackoverflow に関する約 10 ~ 15 の投稿を読みましたが、そのすべてに質問者の問題を解決した回答があるようですが、私のケースではそれらの解決策がうまくいかないようです。アラームを設定できるアプリがあり、アプリは電話をウェイクアップする必要があります(これは行います)->デバイスのロックを解除します(そうではありません)->ダイアログを表示します(手動でロックを解除すると、ダイアログが表示されます)
AlarmReceiver によって開始されるアクティビティの OnCreate() に次のコードがあります
そして、AlarmReceiver クラスの OnReceive 内で、次のコードで静的メソッドである WakeLocker.acquire() メソッドを呼び出します。
私の AndroidManifest.xml には次の権限が含まれています
私は WakefulBroadcastReceiver クラスを使用してブロードキャストを受信し、onReceive 内でダイアログでアクティビティを開始します。私は4.4.4アンドロイドを搭載したサムスンS3を持っています。これが API の問題かどうかはわかりませんが、これを機能させることはできません。電話が点灯し、ロック画面が表示されますが、ダイアログが表示される前にロックが解除されるのを待ちます。この点で助けてくれてありがとう。
android - さまざまな状態で Android ボリューム ロッカー入力を受け入れる
通常、デバイス (Android 4.2 以降) が使用される唯一のアプリとなるアプリがあります。次のシナリオでは、ボリューム ロッカーからの入力を受け入れることができる必要があります。
- アプリがフォアグラウンドにある
- アプリはバックグラウンドです
- ロック画面またはキーガードが作動しました
- 画面がオフになっている (つまり、アイドル モード)。
(1) アクティビティで KeyDown イベントをリッスンすることで簡単に解決できます
(2)リッスンすることで部分的に解決できますandroid.media.VOLUME_CHANGED_ACTION(はい、パブリックAPIではないことは知っていますが、テストに成功したすべてのデバイスで動作し、代替が見つかりません)。しかし、私の Nexus 5 (Android 6.0) では、ロッカーを最初に押すと、音量ダイアログが短時間表示され、ロッカー イベントをアプリに渡すために 2 回目のプレスが必要になります。これが発生し始めた Android のバージョンを特定することはできませんでしたが、すべての Android バージョンで最初のイベントがアプリに確実に渡されるようにする方法を検討したいと思います。
(3) WindowManagerFLAG_DISMISS_KEYGUARDを使用FLAG_SHOW_WHEN_LOCKEDし、ロック画面とキーガードを回避することで軽減できます
FLAG_KEEP_SCREEN_ON(4)アプリがフォアグラウンドにあるときにWindowManager を使用して表示タイムアウトを無視することで、部分的に軽減できます。しかし残念なことに、ユーザーが誤って手動で画面の電源をオフにすることはよくあることであり、a を使用しても、画面がアイドル状態のときにWAKE_LOCKボリューム ロッカー イベントを受信することはできません 。android.media.VOLUME_CHANGED_ACTION
質問は次のとおりです。
- 音量ダイアログによって取り込まれて消費されるのではなく、音量ロッカーの最初の押下がアプリに渡されるようにするにはどうすればよいですか?
- 画面がアイドル状態のときにボリューム ロッカー イベントを受け取るにはどうすればよいですか?