Italian Mancata visualizzazione dell'icona di notifica

AlpVir

Well-Known Member
Licensed User
Longtime User
Avvio un service che crea una notifica. La relativa icona compare nell'area di notifica. Tutto OK.
Accade però che facendo uno swipe verticale verso il basso, partendo dall'area di notifica, l'icona non è visibile a lato del messaggio "L'app è in funzione".
Può dipendere dalla nuova versione di B4A (la 8) ? Prima, qualche mese prima, non c'era questo inconveniente.
Ho anche notato che l'istruzione Notification1.sound deve essere assolutamente DOPO Notification1.SetInfo.
Con la versione di B4A questo era indifferente.
L'icona in questione è in Object/res/drawable ed è a sola lettura. Non è mutata dalla precedente versione dell'app.
B4X:
Sub Service_Start (StartingIntent As Intent)
 
    sensorG.Initialize(sensorG.TYPE_ACCELEROMETER)
    sensorG.StartListening("sensorG")
    
    Notification1.Initialize
    Notification1.OnGoingEvent = True
    Notification1.Icon = "notifica72x72"
    Notification1.Vibrate = True
    Notification1.Sound = False
    Notification1.SetInfo("L'app è in funzione", "Scrolla con vigore lo smartphone", ripidomis)
    Service.StartForeground(1, Notification1)
     
    If Not (TI.IsInitialized) Then
        TI.Initialize("TI",1000)
    End If
    TI.Enabled=True
    TotSecondiService=0
End Sub
Come risolvere, se si può ?
Grazie per l'attenzione.
 

LucaMs

Expert
Licensed User
Longtime User
Ne so... niente, ma sto provando a guardare le novità della v. 8 di b4a, in particolare le notifiche, ovviamente.

Erel dice che l'oggetto Notification è stato completamente riscritto per la faccenda targetSDK26 (che dovrà essere sempre impostato come tale, quindi ti consiglierei di farlo e forse già non avresti problemi).
Ho anche notato che l'istruzione Notification1.sound deve essere assolutamente DOPO Notification1.SetInfo.
No, dice SetInfo o SetInfo2 devono essere gli ultimi comandi prima del comando Show, cosa che mi pare tu stai già facendo.

Comunque la cosa strana è che il messaggio di notifica venga visualizzato (quindi il tutto funziona) ma manchi solo l'icona.
Non ci sono errori nel log, vero?
 

LucaMs

Expert
Licensed User
Longtime User
Comunque la cosa strana è che il messaggio di notifica venga visualizzato (quindi il tutto funziona) ma manchi solo l'icona.
Leggendo qui:
https://www.b4x.com/android/forum/threads/android-jar-targetsdkversion-minsdkversion.87610/#content

si trova un elenco di conseguenze nell'impostare il target SDK a 26 o successivi:

Q: What are the consequences of raising the targetSdkVersion to 26?
A: There are many changes that might affect your app.

Some of them are:
- 22 (?) - notifications icons colors are ignored. Alpha levels used as a mask.

Il che significa, suppongo, che il tipo di immagine debba essere differente.
 
Last edited:

AlpVir

Well-Known Member
Licensed User
Longtime User
Ho ricompilato un altro progetto che prevede le notifiche e confermo quanto detto riguardo il diverso comportamento della versione 8.0 di B4A:
1) Notification1.SetInfo deve essere l'ultima istruzione relativa alle notifiche. Con la versione precedente di B4A ciò era indifferente.
2) L'icona compare (anche a colori) nell'area delle notifiche ma NON a seguito dello swipe verticale; c'è solo un cerchietto grigio.
Ho provato con varie combinazioni (nel file manifest) di
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="xx"/> con xx a scelta fra 19, 22, 26
e (nel path di android.jar) di
C:\Android\platforms\android-xx\android.jar anche qui con xx a scelta fra 19, 22 e 26.
Ho anche provato icone in bn e con sfondo trasparente. Appare nulla o il solite cerchietto grigio.

C'è forse una soluzione usando la libreria Notification Managee (https://www.b4x.com/android/forum/threads/version-safe-notification.87663/#content) ma il suo uso è di una complessità tale che per adesso non voglio affrontare.

P.S.: Dove trovo una PRECEDENTE versione di B4A ?
 

udg

Expert
Licensed User
Longtime User
P.S.: Dove trovo una PRECEDENTE versione di B4A ?
Va chiesta ad Erel (se non sbaglio [email protected]) .
In generale ti conviene mantenere sempre almeno la versione precedente quando effettui un aggiornamento di B4x.
 

LucaMs

Expert
Licensed User
Longtime User
Ho circa 2 milioni di vecchie versioni, quindi potrei dartela io ma... non penso sia la soluzione migliore, ANCHE perché avresti lo stesso problema con le versioni future.

Hai dimenticato di fornire un'informazione: su quale/i dispositivi (versioni Android) esegui i test.

Io, come detto, non ho dimestichezza con le notifiche (feci solo una prova millenni fà, giusto per vedere se e come funzionassero, ma già dimenticato).
Se alleghi un progettino di prova, che NON funzioni bene, gli posso dare un'occhiata.


P.S. Tra l'altro, a meno che io non decida di abbandonarla defnitivamente (abbandonando tutto), probabilmente le notifiche mi farebbero comodo anche per la mia app.
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Ho trovato nel mio HD una versione vecchia (non so di quando, è la 7.3) di B4A.
Installatala ho compilato 2 diversi progetti che prevedono l'uso delle notifiche e, magia, tutto è OK: l'icona è a colori, sia con sfondo trasparente che con sfondo bianco.
Però ha ragione LucaMS segnalandomi che potrei avere problemi con le versioni future.
Continuo con qualche ulteriore indagine e poi vi dico.
 

udg

Expert
Licensed User
Longtime User
Ignorantone
Ignorantone = Ingnorant1 ovvero ignorante numero uno? eheh
Inoltra il tuo intervento alle redazionie di giornali e telegiornali..magari ti assumono!

Cmq, se allegheresse un progettino, passassimo il pomeriggio...o troveremmo un posto da giornalisti..eheh
 

LucaMs

Expert
Licensed User
Longtime User
Il problema è proprio il dispositivo sul quale ho eseguito i test.

Impostando il target a 23, su Android 7 è tutto ok, su Android 4.4.2 vedo l'icona nella notification bar ma non nella lista delle notifiche.
 
Top