Подтвердить что ты не робот

Xiaomi не получает уведомления, когда приложение не работает

Я работаю над приложением, в котором я использую Google Push Notification. Приложение получает уведомление, когда оно запущено на Xiaomi-телефоне, иначе, когда оно было убито, оно не получает уведомление.

Если мы хотим получать уведомление, если приложение убито, нам необходимо разрешить автоматическое перезапуск приложения вручную из приложения безопасности xiaomi. Я хочу любой трюк сделать это программно, не спрашивая пользователя. Есть ли способ сделать это?

enter image description here

http://en.miui.com/thread-33826-1-1.html

4b9b3361

Ответ 1

После MIUI 6 и 7:

Режим энергосбережения MIUI по умолчанию установлен на "Стандартный" (фоновый доступ к службам определения местоположения и сети будет ограничен)

Где установить:

Настройки → Дополнительные настройки → Аккумулятор и производительность → Управление потреблением батареи приложений → Режимы энергосбережения → Установите значение выкл (MIUI не будет ограничивать фоновые действия)

Ответ 2

Существует пять настроек, которые необходимо выполнить вручную в случае, если xiaomi правильно запускает любое приложение. Я провел много исследований по этому вопросу, и нет никакого способа исправить эти настройки программным путем. Это настройки:

  • Автозапуск → ВКЛ (переключение и перезапуск приложения)
  • Оптимизация MIUI в разделе "Параметры разработчика" → "ВЫКЛ"
  • Оптимизация памяти в разделе "Параметры разработчика" → LOW/OFF
  • Нет ограничений для фоновых действий в разделе "Настройки батареи и производительности"
  • Battery Saver → OFF

Есть много других устройств, в которых необходимо выполнить ручные настройки, чтобы приложение работало, как ожидается, например. Lenovo, некоторые устройства Micromax. Компании налагают такие ограничения на ограничения фоновой деятельности, чтобы улучшить общее время автономной работы. Некоторые приложения, такие как facebook и whatsapp, работают правильно, поскольку они могут быть включены в качестве системных приложений.

Ответ 3

Что касается моего понимания, как только вы очистите приложения или очистите память в меню "Недавние приложения", xiaomi (или MIUI rom) будет принудительно закрыть все службы и память, связанные с этим приложением, похожие на настройки пользователей и приложение остановки при остановке,

Эта ссылка говорит об одной и той же проблеме, поэтому все приемники и службы широковещательной передачи будут завершены, если пользователь снова не запустится, поэтому уведомление не будет получено,

Однако вы можете просто включить автозапуск для ваших прав приложения в настройках, и если он все еще не работает, попробуйте создать службу, которая перезапускается сама по себе и включит автозапуск в настройках, AutoStart очень важен в MIUI, до тех пор пока его активность не будет закрыта и не будет запущена.

Ответ 4

Я столкнулся с аналогичной проблемой и исправил ее, добавив в приложение приложение BOOT_COMPLETED.

Добавьте следующее для манифеста:

<receiver
    android:name=".receivers.BootReceiver"
    android:enabled="true">
    <intent-filter>
       <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

Затем создайте класс BootReceiver

public class BootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {

            Intent startServiceIntent = new Intent(context, FBTokenService.class);
            context.startService(startServiceIntent);

            Intent notificationServiceIntent = new Intent(context, FBNotificationService.class);
            context.startService(notificationServiceIntent);
        }
    }
}

Он должен работать с этим.