private async Task OnUserNotificationsBackgroundTaskActivated(IBackgroundTaskInstance backgroundTaskInstance) { var applicationsService = new ApplicationsService(); var errorMessage = await DeviceManager.ConnectAsync(isBackgroundActivity : true); if (!string.IsNullOrWhiteSpace(errorMessage)) { return; } var characteristic = await DeviceManager.GetGattCharacteristicAsync(Asteroid.NotificationUpdateCharacteristicUuid); if (characteristic == null) { return; } var userNotifications = await NotificationsManager.RetriveNotificationsAsync(); if (userNotifications.IsNullOrEmpty()) { return; } foreach (var userNotification in userNotifications) { var application = applicationsService.GetApplicationPreferenceByAppId(userNotification.AppInfo.PackageFamilyName); await DeviceManager.InsertNotificationAsync(characteristic, userNotification, application); } await applicationsService.UpsertFoundApplicationsAsync(userNotifications); await DeviceManager.DisconnectAsync(removeLastDeviceInfo : false); }