1

ちょっと私は自分のカスタム ロック画面を構築するランチャーを書いています。

カスタム ロック画面は、画面がオフになるたびに起動されるアクティビティです (Intent.ACTION_SCREEN_OFF をリッスンすることにより)。

Android のロック画面を無効にするには、次のコードを使用します。

KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();

Androidのロック画面が再びオンになるまで、すべてうまく機能します(これまでに無効にされたことがないように)。

これは、samsung galaxy 2 でよく発生します (ただし、他の電話でも発生します)。

私は何を間違っていますか?

ありがとう!

4

2 に答える 2

0

呼び出すことで何とか解決することができました

 KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
 KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
 lock.disableKeyguard();

ロック画面のアクティビティを開始する直前

于 2012-06-14T05:31:36.660 に答える
0

DevicePolicyMangnager を有効にしましたか? そうしないと、その機能は動作しません。

これはドキュメントからのものです:

注: この呼び出しは、パスワードを必要とする DevicePolicyManager が有効になっている間は効果がありません。

ここにそれに関するチュートリアルがあります。とにかく、アプリが実行するたびに、ユーザーが管理者権限を与えるためにパスワードを提供する必要があるというのは、あなたが探しているものではないと思います。

一般に、プログラムで KeyGuard を無効にする方法はなく (安全なピン、パスワード、パターン、顔の場合)、できることはその上にアクティビティを表示することだけです。

于 2012-06-05T07:59:37.180 に答える