У меня есть приложение с VebView, и теперь я пытаюсь сделать виджет с диалогами сообщений. На моем телефоне (Samsung) все в порядке, но на Xiaomi каждый раз, когда приложение открывается/закрывается/переходит в фоновый режим, виджет сброса системы и загрузка снова. Это выглядит не очень хорошо. Я обнаружил, что проблема в том, что каждый раз, когда система вызывает намерение широковещания «android.intent.action.PACKAGE_CHANGED». Я также обнаружил, что проблема возникает, когда приложение инициализирует OneSignal «OneSignal.initWithContext(this);». Я искал ответ по всему Интернету, но ничего не нашел по этой проблеме. Буду очень благодарен за любое мнение и помощь.
В моем ресивере
Код: Выделить всё
public class WidgetUpdateReceiver extends BroadcastReceiver {
public WidgetUpdateReceiver() {
super();
}
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction() != null && Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())) {
String packageName = Objects.requireNonNull(intent.getData()).getSchemeSpecificPart();
if ("com.myapp.name".equals(packageName)) {
Log.d("WidgetUpdateReceiver", "Broadcast received");
}
}
}
}
Я пытался получить эту трансляцию, но она защищена системой...
Только когда я удалил строку «OneSignal.initWithContext(this);», виджет был в порядке и не моргнул.
Подробнее здесь:
https://stackoverflow.com/questions/793 ... ackgroundi