10

Androidのシステムキーロック(電源オフ/電話を切るボタンを押したときに取得するもの)をアクティブにする必要があります。ここを参照してください:

img

私はすでにドキュメントを閲覧しましたが、見つけたのはPowerManagerKeyguardManagerだけでした。どちらも解決策ではないようです:-(。

だから、誰もがAndroidアプリケーションからそれを達成する方法を知っていますか?(特別な権限が必要な場合、それは問題ありませんが、デバイスの設定を変更することは解決策ではありません...)

編集:または誰かがこれが絶対に不可能であることを知っていますか?ところで。キーを送信するクレイグソリューションは機能しなくなりました(コメントを参照)。

4

5 に答える 5

3

私はしばらくの間、まったく同じ質問に対する答えを探していました。どうやら、2.0以降、アプリレベルのデバイスマネージャー権限が削除されたようです。しかし、Froyo-2.2を使用すると、デバイスポリシーマネージャーが明らかになり、開発者に多数の管理レベルの制御が許可されます。

http://developer.android.com/guide/topics/admin/device-admin.html

于 2010-11-02T11:29:07.117 に答える
1

あなたが探しているのは、KeyguardManager.KeyguardLockのreenableKeyguard ()メソッドです。

于 2009-04-20T15:12:45.857 に答える
1

画面ロック機能は次の方法で実行されているようです。

public void goToSleep(long time)

のメソッドPowerManager.java。この方法でそれへの参照を取得することが可能です:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

ただし、これには許可が必要です

android.permission.DEVICE_POWER

これは、システムでのみ使用可能なレベル2のアクセス許可です。

したがって、これは実行できないようです。これはバージョン1.1専用で、1.5についてはわかりません。

于 2009-04-20T17:33:50.323 に答える
0

ここにかなり良い例があります:

http://www.anddev.org/throwing-simulating_keystrokes_programatically-t717.html

プログラムでキーストロークをシステムに送信できるようです。探しているキーコードはKEYCODE_ENDCALLのようですが、それでも機能しない場合は、他にもたくさんのコードを試してみてください。

http://developer.android.com/reference/android/view/KeyEvent.html

ロックを発生させるAPI呼び出しがあるかどうかはわかりませんが、より良い解決策が見つかるまで、これはかなり頑丈な回避策のようです。

于 2009-04-09T16:57:08.637 に答える
0

Androidソースを掘り下げると、startAppFreezingScreenLockedこれをアクティブ化するためのパブリックメソッド()があるように見えるWindowManagerServiceが見つかりました。残念ながら、WindowManagerServiceオブジェクトを直接取得できるようには見えないため、これは答えを探し始めるのに適した場所かもしれません。

于 2009-04-20T15:01:37.197 に答える