Диспетчер тревог не запускает тревогу на flyme os (meizu) - PullRequest
0 голосов
/ 14 мая 2018

Прежде всего, срабатывает сигнализация на других устройствах. Проблема именно в FlymeOS (это оптимизация батареи, функции безопасности или что-то в этом роде).

Во-вторых, я пробовал разные тревоги setRepeating(), setExact(), setExactAndAllowWhileIdle() с пониманием различий между ними.Результат - снова работает хорошо везде, кроме устройств meizu.

Так как я могу заставить эти тревоги срабатывать на meizu?

1 Ответ

0 голосов
/ 14 мая 2018

Проблема в фоновых процессах ограничения на meizu. В фоновом режиме работают 3 режима: «Разрешить запуск в фоновом режиме» , «Умный фон» (это корень вашей проблемы) и «Запретить запуск в фоновом режиме» . Таким образом, секунда устанавливается для каждого приложения по умолчанию , поэтому тревога будет срабатывать только при запуске приложения, в противном случае - нет.

Чтобы решить вашу проблему «Разрешить запуск в фоновом режиме» следует установить . Но вы не можете сделать это программно, поэтому пользователь должен изменить эту настройку сам . Все, что вы можете сделать, это открыть страницу безопасности meizu для своего приложения и позвонить пользователю, чтобы изменить этот параметр на «Разрешить запуск в фоновом режиме» :

    Intent intent = new Intent("com.meizu.safe.security.SHOW_APPSEC");
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.putExtra("packageName", BuildConfig.APPLICATION_ID);

Running in background mode menu

...