Can I get a wallpaper changed event in a broadcast receiver?
I need to detect if the user changed the wall paper.
How could I do it?
What I am doing is this:
I have an app that changes wallpaper automaticly.
If the user changes it manually using a different aplication I would like to notice it and ask the users if he/she wants to add that new wallpaper to the list in my application
There is only a broadcast for when a wallpaper image changes: http://developer.android.com/reference/android/content/Intent.html#ACTION_WALLPAPER_CHANGED
To do what you want, you will need to have more logic to use this to determine if the wallpaper has been changed to something besides an image: http://developer.android.com/reference/android/app/WallpaperManager.html#getWallpaperInfo()
To be honest, if you are making a wallpaper that is going to change, you really should consider just writing a live wallpaper. This will fit much more comfortably into the system: you can change what you are showing whenever you want, and it is clear when the user has selected a different wallpaper because your live wallpaper will be stopped.
Also you need to be extremely careful about the use of ACTION_WALLPAPER_CHANGED, because it can get you into bad interactions with other applications. Here is the documentation for it that will appear in the next API:
True story.