Abgestandene Vorlieben im Hintergrundpaperservice
Posted: 10 Apr 2025, 11:52
Ich bin ein Anfänger in der Android -Entwicklung. Ich versuche, eine einfache Live-Wallpaper-App zu erstellen, die von https://github.com/cyunrei/video-live-wallpaper inspiriert ist. Eine der Änderungen, die ich vornehmen möchte, besteht darin, das Dateisystem nicht zu verwenden, um die Präferenz zu speichern, die Video verwendet werden soll, da es sich hacky und nicht angemessen anfühlt. Ich habe jedoch für diesen Zweck nicht sowohl den DataStore als auch die SharedPreferences verwendet. Ich denke, dass ich etwas Basic vermisse, das habe ich eingerichtet und was ich erwartet habe:
[*] Eine Aktivität, bei der ein Video ausgewählt werden kann (ich bin noch in einer Testphase, und alle Videos sind in Res/RAW )
a Wallpaper. Workflow so wie folgt: < /p>
In der Aktivität habe ich die Präferenz mit:
festgelegt
wobei der Kontext localcontext.current der komponierbaren Funktion ist.
Ich mache dies derzeit jedes Mal, wenn die Videooberfläche auf sichtbar ist. Nachdem ich ein anderes Video in der Aktivität für die zweite (oder nachfolgende) Zeiten ausgewählt habe, gibt Schritt 3 den alten Wert zurück. Gibt es eine korrektere Möglichkeit, das zu erreichen, was ich will?
Danke für Ihre Hilfe
[*] Eine Aktivität, bei der ein Video ausgewählt werden kann (ich bin noch in einer Testphase, und alle Videos sind in Res/RAW )
a Wallpaper. Workflow so wie folgt: < /p>
In der Aktivität habe ich die Präferenz mit:
festgelegt
Code: Select all
context.getSharedPreferences(VIDEO_PREFS, 0).edit().putInt(VIDEO_ID, res).commit()
Code: Select all
Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER).apply {
putExtra(
WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,
ComponentName(context, MyVideoWallpaperService::class.java)
)
}.also { context.startActivity(it) }
< /code>
Ich muss zugeben, dass ich diesen Teil nicht vollständig verstehe, er wird aus dem im obigen Text erwähnten Referenzrepository kopiert.applicationContext.getSharedPreferences(VIDEO_PREFS, 0).getInt(VIDEO_ID, R.raw.example)
Danke für Ihre Hilfe