2012-05-12 5 views
8

C'è un modo per ottenere in modo programmatico tutti gli sfondi del sistema Android?Ottenere tutti gli sfondi di sistema

So come ottenere quello corrente, tramite WallpaperManager, e quindi salvarlo sul disco. Ma voglio sapere se c'è un modo per accedere a tutte le immagini che fungono da sfondi di sistema inclusi con gli O.S.

+1

È necessario chiarire la domanda: "tutte le immagini che fungono da sfondo del sistema". Poiché può esistere solo un wallpaper di sistema attivo alla volta, questa potrebbe non essere la tua domanda. Se la tua domanda è come elencare tutti gli sfondi POSSIBILI devi specificare cosa rende un'immagine uno sfondo, altrimenti puoi semplicemente prendere un elenco di tutte le immagini sul telefono. – theomega

+0

Android viene fornito con un'applicazione Wallpaper per impostazione predefinita. Le sue immagini da utilizzare come sfondi non sono file nella scheda SD. Sono risorse nell'apk, invece. Voglio accedervi per codice. Grazie. – Ton

risposta

4

Tutti gli sfondi si trovano nell'app di avvio. Poiché il nome del programma di avvio e le sue risorse possono variare su tutti i dispositivi, non c'è modo di creare un modo affidabile per farlo.

In magazzino Android gli sfondi si trovano in Launcher2.apk: res/drawable- somedpi. Sui miei dispositivi erano nella cartella drawable-hdpi, ma questo potrebbe essere diverso dagli altri.

Prima ottenere le risorse del programma di avvio (com.android.Launcher2.apk) come descritto nella risposta this.

Quindi è possibile elencare le risorse utilizzando un metodo simile a quello nella domanda this.

Non ho provato tutto questo da solo, quindi potrebbe non funzionare come previsto.

+0

È possibile installare sfondi e rimuoverli quindi indipendentemente dal programma di avvio. Quindi il controllo del pacchetto di avvio non aiuta! – theomega

+0

Se decompilate il file Launcer2.apk con apktool, vedrete che contiene gli sfondi. Non sono completamente sicuro di cosa intendi con "l'installazione di uno sfondo". – Thomas

+0

Grazie per avermi indicato in una direzione. Sono in grado di ottenere un 'Risorse' per' com.android.launcher' (livello API 7), ma l'elencazione dei file nella directory 'res' non restituisce nulla. Continuerò a provare. –

-2

Basta capire dove vengono salvati e accedervi in ​​questo modo.

+4

cosa intendi? – Ton

+1

Questo potrebbe passare come commento, ma certamente non è una risposta. Scusate! – kentcdodds

Problemi correlati