Android デバイスのデフォルトのロック画面 (スワイプしてロック解除) を置き換えるアプリケーションに取り組んでいます。キーガードマネージャーを無効にし、画面オフと画面オンの意図のためにブロードキャストレシーバーを使用してアクティビティを表示することで、これを成功させました。さて、問題は、何らかの理由でデフォルトの画面ロックを再度設定すると、強制的に閉じて再度起動しない限り、アプリケーションがキーガードを無効にしないことです。
km = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE);
if( km.inKeyguardRestrictedInputMode()) {
//it is locked
km = (KeyguardManager) getApplicationContext().getSystemService(KEYGUARD_SERVICE);
kl=km.newKeyguardLock("com.example.helloworld.MainActivity");
kl.disableKeyguard();
} else {
Intent i = getIntent();
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(i);
}