我已閱讀了Stackoverflow上的大約10-15個帖子,他們都似乎有解決問題的問題的答案,但我似乎無法讓這些解決方案適用於我的案例。 我有一個應用程序,它允許設置一個鬧鐘,應用程序應該喚醒手機(它它) - >解鎖設備(它沒有) - >顯示一個對話框(它曾經手動解鎖)無法獲取應用程序以編程方式解鎖鍵盤[現有的解決方案都不行!]
我已經在OnCreate)活性的其由AlarmReceiver
KeyguardManager keyguardManager = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG");
keyguardLock.disableKeyguard();
final Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
win.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
而AlarmReceiver類的的onReceive內開始下面的代碼(I調用WakeLocker.acquire()方法,該方法是採用以下代碼的靜態方法:
public static void acquire(final Context ctx) {
if (wakeLock != null) wakeLock.release();
final PowerManager pm = (PowerManager) ctx.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.ON_AFTER_RELEASE, "TAG");
wakeLock.acquire();
}
我AndroidManifest.xml中包含我使用的是WakefulBroadcastReceiver類接收廣播和裏面的onReceive我開始一個對話活動下列權限
android.permission.WAKE_LOCK
android.permission.DISABLE_KEYGUARD
。 我有一個4.4.4 Android的三星S3。我不確定這是否是一個API問題,但我無法得到這個工作。 手機亮起並顯示鎖定屏幕,但在向我顯示對話框之前,它會等待我解鎖。 感謝您在這方面的任何幫助。
沒人願意幫忙? – LeoNeo