I use FirebaseMessaging migrated to new platform (B4a 12.80).
I have need to issue a notify and at the same time DownloadAndSaveJPG (200kb).
To acquire the picture I have to wait for the download to finish
My phone is in doze mode (Xiaomi note pro 12)
and after few minutes Wait For (j) JobDone(j As HttpJob) It does not work anymore (BigPicture_Notification is no longer performed) and I and I have need to reopen and close the app for it to work.
If I uncomment Sleep(2000) this doesn't work, however it is not downloaded and it shows me the previously downloaded one.
Why does this happen?
Could it be that the download doesn't work in the receiver module?
(I tried sending the image in base64 but the message was too long)
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			I have need to issue a notify and at the same time DownloadAndSaveJPG (200kb).
To acquire the picture I have to wait for the download to finish
My phone is in doze mode (Xiaomi note pro 12)
and after few minutes Wait For (j) JobDone(j As HttpJob) It does not work anymore (BigPicture_Notification is no longer performed) and I and I have need to reopen and close the app for it to work.
If I uncomment Sleep(2000) this doesn't work, however it is not downloaded and it shows me the previously downloaded one.
Why does this happen?
Could it be that the download doesn't work in the receiver module?
(I tried sending the image in base64 but the message was too long)
			
				FirebaseMessaging Receiver module:
			
		
		
		Sub fm_MessageArrived (Message As RemoteMessage)
    provider.Initialize
    DownloadAndSaveJPG("https://www.xxxxxxxxxxxx.net/notifichestudio/" & Main.manager.GetString("utente") & "/dentista4.png")
    testotitle=Message.GetData.Get("title")
    testobody=Message.GetData.Get("body")
    testonote=Message.GetData.Get("notedomani")
    appoimage=Message.GetData.Get("image")
    ToastMessageShow(Message.GetData.Get("image"),False)
    'Sleep(2000)
    'Spostato in jobdone
    'BigPicture_Notification
End Sub
Sub BigPicture_Notification
    Dim n As NB6
    smiley = LoadBitmapResize(File.DirAssets, "smiley2.png", 24dip, 24dip, False)
    n.Initialize("custom sound", Application.LabelName, "DEFAULT").SmallIcon(smiley)
 
    Dim FileName As String = "tada.mp3"
    File.Copy(File.DirAssets, FileName, provider.SharedFolder, FileName)
    Dim in As Intent
    in.Initialize(in.ACTION_VIEW, "")
    provider.SetFileUriAsIntentData(in, FileName)
    n.SmallIcon(LoadBitmapResize(File.DirAssets, "smiley.png", 32dip, 32dip, True))
    'disable the default sound
    n.SetDefaults(False, True, True)
    'set custom sound
    n.CustomSound(provider.GetFileUri(FileName))
 
    Dim b As Bitmap = LoadBitmap(File.DirInternal, "dentista4.png")
    n.BigPictureStyle(b.Resize(256dip, 256dip, True), b, testotitle, testobody)
    n.Color(0xFF00AEFF)
    n.AddButtonAction(smiley, "Note di domani", MyReceiver2, "note")
 
    Dim cs As CSBuilder
    n.AddButtonAction(smiley, cs.Initialize.Color(Colors.Red).Bold.Append("Altre informazioni...").PopAll, MyReceiver2, "altro")
    Dim Notification As Notification = n.Build(testotitle, testobody, "tag", Main)
    Notification.Notify(3)
End Sub
Sub DownloadAndSaveJPG (Link2 As String)
    Dim j As HttpJob
    j.Initialize("", Me)
    j.Download(Link2)
    Wait For (j) JobDone(j As HttpJob)
    If j.Success Then
        Dim out As OutputStream = File.OpenOutput(File.DirInternal, "dentista4.png", False)
        File.Copy2(j.GetInputStream, out)
        out.Close '<------ very important
        ProgressDialogHide
        'ToastMessageShow("DOWNLOAD",True)
        BigPicture_Notification
    End If
    j.Release
End Sub
	
			
				Last edited: