Как загрузить изображение из url ссылки в data message firebase cloud messaging когда приложение закрыто
Сообщения firebace cloud messaging делятся на 2 вида - notification и data. С помощью data сообщений удаётся получать уведомления в любом режиме работы приложения - закрыто/открыто/в фоне. Во время получения сообщения срабатывает метод onMessageReceived(message: RemoteMessage) находящийся в FirebaseMessagingService. При попытке загрузки изображения из интернета - например с помощью Glide (испытывал разные методы) - происходит ошибка загрузки связанная с отсутствием интернета. Сервис находится внутри модуля. У модуля есть свой файл android manifest в котором указаны следующие разрешения:
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_SERVICE" />
подобные разрешения указаны и в манифесте приложения
сервис расширяющий FirebaseMessagingService в манифесте:
<service
android:name="com.test.test.PushMessagingService"
android:directBootAware="true"
android:enabled="true"
android:exported="true"
android:usesCleartextTraffic="true">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
То есть в результате получения уведомления при закрытом приложении - уведомление будет показано но без изображения.
Создается ощущение что во время работы FirebaseMessagingService приложение не предоставляет интернет
Я вышел из ситуации за счет того что в момент получения уведомления я активирую foreground service - в таком случаи картинка загружается. Однако это создает дополнительное уведомление - "приложение выполняется" и меня это не устраивает. Кто ни будь еще сталкивался с подобной проблемой? Какое есть решение?