2012-01-29 14 views
6

Desidero creare un'icona di avvio simile all'applicazione di messaggistica nativa in Android. L'icona di questa app ha un'immagine ma ha anche un numero che cambia in modo dinamico (un contatore di qualche tipo che corrisponde al numero di messaggi non letti). Anche questa icona non è un widget, poiché è un'icona reale presente nel cassetto delle applicazioni.Creare un'icona di avvio dinamico

Qualcuno può spiegarmi come posso raggiungere questo obiettivo? Ho trovato una soluzione che include un widget con le dimensioni impostate su 1x1, ma non voglio che le persone aggiungano scorciatoie alla mia app come widget. Se possibile, vorrei manipolare l'icona di avvio in qualche modo programmatico.

Grazie in anticipo!

Nota: C'è una domanda simile alla mia posta molto tempo fa. Tuttavia, dal momento che l'API Android ha subito molti cambiamenti da allora, le risposte più vecchie potrebbero essere o non essere applicabili - da qui la necessità di una nuova domanda. (link)

risposta

7

Qualcuno può spiegarmi come posso farlo?

Non è possibile, a meno di creare la propria schermata iniziale con il proprio programma di avvio.

+0

Ho visto che l'icona di messaggistica riceve il "numero di messaggi non letti" posto in esso in varie occasioni: è specifico per il programma di avvio? – ninetwozero

+1

@ninetwozero: dovrebbe essere specifico per il programma di avvio, sì. Un lanciatore dovrebbe avere quelle stesse intelligenze. Puoi verificarlo provando qualcosa come l'app di esempio Home dell'SDK e visualizzando l'aspetto dell'icona di avvio. – CommonsWare

+0

+1 Gli unici due modi che so di ottenere sono: 1) codice di avvio (i lanciatori più avanzati lo fanno per email, gmail, SMS, telefonate, ecc.) E 2) widget 1x1 che imita un'icona – Guillaume

0

Non è possibile creare un Dynamic launcher icon.

In alternativa, è possibile progettare un Home Screen Widget simile all'icona in grado di aggiornarsi.

Here è un tutorial su come creare un Home Screen Widget.

Se è necessario ottenere quello sul Menu di un dispositivo Android, penso che sia necessario ciò che @CommonsWare ha detto.

Problemi correlati