2010-09-25 12 views
7

Desidero che la mia attività venga visualizzata nell'elenco delle attività (galleria, sfondi animati ecc.) Che si vedono quando si tenta di scegliere uno sfondo dalla schermata iniziale.Appare un'attività nel 'selettore sfondo'

Im supponendo che questo è fatto con intenti, ma non riesco a trovare uno che funziona. Il più vicino che riesco a trovare è:

<action android:name="android.intent.action.ACTION_SET_WALLPAPER> 

ma che non funziona e sembra essere usato per qualcos'altro.

risposta

0

Fondamentalmente, non è possibile impostare le attività come sfondo. Devi invece creare uno Live Wallpaper e disegnare il tuo contenuto su un SurfaceView utilizzando un Canvas. Puoi creare delle viste tu stesso per disegnarle manualmente sulla tela, ma è un po 'complicato e nella maggior parte dei casi non è quello che vuoi.

+0

Scusa forse non ero abbastanza chiaro. Non voglio impostare un'attività come sfondo. Voglio che la mia app/attività sia un elemento elencato nella finestra di dialogo "seleziona sfondo da" che si apre quando fai clic su "sfondi" dalla schermata iniziale. – Kman

1

La lista sotto 'selezionare lo sfondo da 'finestra di dialogo che si apre quando si fa clic su' sfondi 'dalla schermata principale ha tre voci sulla maggior parte dei telefoni (ho controllato stock e HTC Sense):

  • sfondi Live
  • Galleria
  • Wallpapers (o: Sfondi HTC)

Quando premo 'sfondi' dalla homescreen su HTC Sense ottengo:

09-26 20:17:58.901: INFO/ActivityManager(104): Starting activity: Intent { act=android.intent.action.SET_WALLPAPER_DIALOG cmp=com.htc.launcher/.WallpaperChooserDialog (has extras) } 
09-26 20:17:59.301: INFO/ActivityManager(104): Displayed activity com.htc.launcher/.WallpaperChooserDialog: 353 ms (total 353 ms) 

Quando a magazzino :

09-26 20:19:41.231: INFO/ActivityManager(86): Starting activity: Intent { act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity (has extras) } 
09-26 20:19:41.571: INFO/ActivityManager(86): Displayed activity android/com.android.internal.app.ChooserActivity: 294 ms (total 294 ms) 

E whe n clicco attraverso il 'sfondi' quando a magazzino:

09-26 20:19:51.101: INFO/ActivityManager(86): Starting activity: Intent { act=android.intent.action.SET_WALLPAPER flg=0x3000000 cmp=com.android.launcher/com.android.launcher2.WallpaperChooser } 
09-26 20:19:51.581: INFO/ActivityManager(86): Displayed activity com.android.launcher/com.android.launcher2.WallpaperChooser: 463 ms (total 463 ms) 

è necessario utilizzare android.intent.action.SET_WALLPAPER. Forse hai dimenticato alcuni altri dettagli di implementazione come

<category android:name="android.intent.category.DEFAULT" /> 

in modo che il selezionatore potesse riprenderlo? Dai un'occhiata al codice sorgente di Photostream (http://code.google.com/p/apps-for-android/source/browse/trunk/#trunk/Photostream). Romain Guy ha funzionato.