Я пытаюсь поймать нажатие кнопки увеличения / уменьшения громкости с выключенным экраном, но, несмотря на получение функции пробуждения, приложение не остается на переднем плане при нажатии кнопки блокировки.У меня есть точка останова в методе OnPause, и он срабатывает при выключении экрана, и я могу подтвердить, что активирована функция пробуждения через терминал ADB с помощью команды:
adb shell dumpsys power
Iпропущены события кнопок громкости, так как они не актуальны, но они работают, когда экран включен.Я не знаю, что мне не хватает, может быть, я неправильно понимаю, как должен вести себя будильник?
Я тестирую его в эмуляторе с Android 6.0 и на физическом телефоне с Android 7.1.2.Заранее спасибо за любую помощь ..
Button getLockBtn;
PowerManager _powerManager;
PowerManager.WakeLock _wakeLock;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
RequestWindowFeature(WindowFeatures.NoTitle);
SetContentView(Resource.Layout.Main);
getLockBtn = FindViewById<Button>(Resource.Id.GetLockBtn);
_powerManager = (PowerManager)GetSystemService(PowerService);
_wakeLock = _powerManager.NewWakeLock(WakeLockFlags.Partial, "MyTag");
getLockBtn.Click += (s, e) =>
{
if (_wakeLock.IsHeld)
{
_wakeLock.Release();
getLockBtn.Text = "Get lock";
//Remove the notification
}
else
{
//Here I show a notification
_wakeLock.Acquire();
getLockBtn.Text = "Release lock";
}
};
}