2012-05-12 10 views
8

¿Hay alguna manera de obtener programáticamente todos los fondos de pantalla del sistema Android?Obtener todos los fondos de pantalla del sistema

Sé cómo obtener el actual, a través de WallpaperManager, y luego lo guardo en el disco. Pero quiero saber si hay una manera de acceder a todas las imágenes que actúan como fondo de pantalla del sistema incluido con O.S.

+1

Debe aclarar su pregunta: "todas las imágenes que actúan como fondo de pantalla del sistema". Como puede haber solo un fondo de pantalla del sistema activo a la vez, esta podría no ser su pregunta. Si su pregunta es cómo enumerar todos los fondos de pantalla POSIBLES, debe especificar qué hace que una imagen sea un fondo de pantalla, de lo contrario, puede simplemente tomar una lista de todas las imágenes en el teléfono. – theomega

+0

Android viene con una aplicación de fondo de pantalla por defecto. Sus imágenes para usar como fondos de pantalla no son archivos en la tarjeta sd. Son recursos en el apk, en cambio. Quiero acceder a ellos por código. Gracias. – Ton

Respuesta

4

Todos los fondos de pantalla se encuentran en la aplicación de inicio. Como el nombre del iniciador y sus recursos pueden variar entre los dispositivos, no hay forma de crear una forma confiable de hacerlo.

En existencia Android los fondos de pantalla se encuentran en Launcher2.apk: res/drawable- somedpi. En mis dispositivos estaban en la carpeta drawable-hdpi, pero esto puede ser diferente en otros.

Primero obtenga los recursos del iniciador (com.android.Launcher2.apk) como se describe en this answer.

Luego puede enumerar los recursos, utilizando un método similar al de la pregunta this.

No he probado todo esto por mí mismo, por lo que podría no funcionar como se esperaba.

+0

Puede instalar fondos de pantalla y eliminar, entonces, independientemente del iniciador. ¡Así que inspeccionar el paquete de lanzadores no ayuda! – theomega

+0

Si descompila Launcer2.apk con apktool, verá que contiene los fondos de pantalla. No estoy del todo seguro de lo que quiere decir con 'instalar un fondo de pantalla'. – Thomas

+0

Gracias por señalarme en una dirección. Puedo obtener 'Resources' para' com.android.launcher' (nivel de API 7), pero el listado de archivos en el directorio 'res' no arroja nada. Seguiré intentando. –

-2

Simplemente averigüe dónde están guardados y acceda a ellos de esa manera.

+4

¿qué quieres decir? – Ton

+1

Esto podría pasar como un comentario, pero ciertamente no es una respuesta. ¡Lo siento! – kentcdodds

Cuestiones relacionadas