2012-05-12 638 views
8

Czy istnieje sposób, aby programowo uzyskać wszystkie tapety systemu Android?Uzyskiwanie wszystkich tapet systemowych

Wiem, jak uzyskać bieżący numer, poprzez WallpaperManager, a następnie zapisać go na dysku. Ale chcę wiedzieć, czy istnieje sposób na dostęp do wszystkich zdjęć, które działają jak tapeta systemowa dołączona do O.S.

+1

Musisz wyjaśnić swoje pytanie: "wszystkie zdjęcia działające jako tapeta systemowa". Ponieważ może istnieć tylko jedna tapeta systemowa aktywna na raz, może to nie być Twoje pytanie. Jeśli masz pytanie, jak wyświetlić wszystkie MOŻLIWE tapety, musisz określić, co powoduje, że obraz jest tapetą, w przeciwnym razie możesz po prostu zrobić listę wszystkich zdjęć w telefonie. – theomega

+0

System Android domyślnie zawiera aplikację do tapet. Jego zdjęcia do wykorzystania jako tapety nie są plikami na karcie SD. Zamiast tego są to zasoby w apk. Chcę uzyskać do nich dostęp za pomocą kodu. Dzięki. – Ton

Odpowiedz

4

Wszystkie tapety znajdują się w aplikacji launcher. Ponieważ nazwa programu uruchamiającego i jego zasoby mogą się różnić w zależności od urządzenia, nie ma sposobu, aby stworzyć niezawodny sposób na to.

Na magazynie Android tapety znajdują się w Launcher2.apk: res/drawable- somedpi. Na moich urządzeniach znajdowały się one w folderze drawable-hdpi, ale może to być inne na innych.

Najpierw zdobądź zasoby programu uruchamiającego (com.android.Launcher2.apk), jak opisano w odpowiedzi na pytanie: this.

Następnie można wyświetlić zasoby za pomocą metody podobnej do tej w pytaniu this.

Sam nie próbowałem tego wszystkiego, więc może nie działać zgodnie z oczekiwaniami.

+0

Można instalować tapety i usuwać je wtedy niezależnie od programu uruchamiającego. Sprawdzanie pakietu wyrzutni nie pomaga! – theomega

+0

Jeśli dekompilujesz Launcer2.apk z apktool, zobaczysz, że zawiera tapety. Nie jestem całkowicie pewien, co rozumiesz przez "instalowanie tapety". – Thomas

+0

Dzięki za wskazanie mnie w kierunku. Jestem w stanie uzyskać 'Resources' dla' com.android.launcher' (API level 7), ale lista plików w 'res' dir nic nie zwraca. Będę próbować. –

-2

Wystarczy zorientować się, gdzie są zapisane i uzyskać do nich dostęp w ten sposób.

+4

co masz na myśli? – Ton

+1

Może to być komentarz, ale na pewno nie jest to odpowiedź. Przepraszam! – kentcdodds