#java #android #vibration #screen-lock
Вопрос:
Я разрабатываю приложение VOIP, и при приеме вызова приложение показывает пользователю экран входящего вызова, а телефон вибрирует и звонит ( если телефон не находится в беззвучном режиме ). Кажется, все идет хорошо, пока на некоторых устройствах ( Samsung SM-A125F [ Android 11 ] была задокументирована эта проблема), когда устройство заблокировано, а экран выключен, телефон не вибрирует и не звонит, а отображается только экран входящего вызова. У кого-то есть несколько советов по поводу этого странного поведения, спасибо!
КОД
IncomingCallActivity.java
флаги windows
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON );
вибрирует и звенит часть
if (Build.VERSION.SDK_INT gt;= Build.VERSION_CODES.O) { vibrator.vibrate(VibrationEffect.createWaveform(new long[]{0, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000}, 0)); } else { vibrator.vibrate(new long[]{0, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000}, -1); }