Я делаю приложение, в котором я хочу отправить какое-то предупреждение sms, когда пользователь нажимает какую-то определенную комбинацию клавиш тома. Я получаю событие громкости в широковещательном приемнике, он отлично работает, когда устройство и клавиатура разблокированы, но когда устройство заблокировано (Экран выключен), клавиша громкости не работает. Я попробовал этот код в методе широковещательного приемника OnReceive()Как разблокировать устройство и клавиатуру из широковещательного приемника в Android?
private void wakeUpScreenAndRelaeseLock(Context context)
{
PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG");
wakeLock.acquire();
KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG");
keyguardLock.disableKeyguard();
wakeLock.release();
}
также я добавил эти два разрешения в AndroidManifest.xml файл
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
, пожалуйста, помогите мне понять эту проблему .. спасибо!
Спасибо за ваш ответ .. но когда мы играем с музыкальным плеером в фоновом режиме, и устройство заблокировано, мы можем увеличить объем вверх/вниз, что происходит в моем приложении, как я могу это достичь? –
Когда музыка воспроизводится в фоновом режиме, устройство не находится в глубоком сне - музыкальный проигрыватель держит блокировку следа. – Okas