2012-05-12 15 views
8

Gibt es eine Möglichkeit, alle Android-Systemtapeten programmatisch zu bekommen?Alle Systemtapeten erhalten

Ich weiß, wie man den aktuellen, über WallpaperManager, und dann auf die Festplatte speichern. Aber ich möchte wissen, ob es einen Weg gibt, auf alle Bilder zuzugreifen, die als Systemtapeten dienen, die in der OS enthalten sind.

+1

Sie müssen Ihre Frage klären: "Alle Bilder, die als Systemtapete fungieren". Da immer nur ein System-Hintergrundbild aktiv sein kann, ist dies möglicherweise nicht Ihre Frage. Wenn Sie Ihre Frage haben, wie Sie alle MÖGLICHEN Hintergrundbilder auflisten können, müssen Sie angeben, was ein Bild zu einem Hintergrundbild macht. Andernfalls können Sie einfach eine Liste aller Bilder auf dem Telefon erstellen. – theomega

+0

Android kommt standardmäßig mit einer Wallpaper-Anwendung. Seine Bilder als Hintergrundbilder sind keine Dateien auf der SD-Karte. Sie sind stattdessen Ressourcen in der Apk. Ich möchte auf sie per Code zugreifen. Vielen Dank. – Ton

Antwort

4

Alle Hintergrundbilder befinden sich in der Launcher-App. Da der Name des Launchers und seiner Ressourcen von Gerät zu Gerät variieren kann, gibt es keine Möglichkeit, einen zuverlässigen Weg dafür zu finden.

Auf Lager Android die Tapeten befinden sich in Launcher2.apk: res/drawable- somedpi. Auf meinen Geräten waren sie im Drawable-HDpi-Ordner, aber das kann bei anderen anders sein.

Zuerst erhalten Sie die Ressourcen des Launcher (com.android.Launcher2.apk) wie in this Antwort beschrieben.

Dann können Sie die Ressourcen mit einer ähnlichen Methode wie die in this Frage auflisten.

Ich habe nicht alles selbst ausprobiert, also könnte es nicht wie erwartet funktionieren.

+0

Sie können Hintergrundbilder installieren und dann unabhängig vom Launcher entfernen. Die Überprüfung des Launcher-Pakets hilft also nicht! – theomega

+0

Wenn Sie die Launcer2.apk mit apktool dekompilieren, sehen Sie, dass es die Hintergrundbilder enthält. Ich bin nicht ganz sicher, was Sie meinen, indem Sie ein Hintergrundbild installieren. – Thomas

+0

Danke, dass Sie mich in eine Richtung weisen. Ich bin in der Lage, eine 'Ressourcen' für' com.android.launcher' (API Level 7) zu bekommen, aber das Auflisten von Dateien in 'res' dir gibt nichts zurück. Ich werde es weiter versuchen. –

-2

Einfach herauszufinden, wo sie gespeichert sind und auf sie zugreifen.

+4

was meinst du? – Ton

+1

Dies könnte möglicherweise als Kommentar übergeben werden, aber es ist sicherlich keine Antwort. Es tut uns leid! – kentcdodds