我有一个动态壁纸,其中一些资源被加载并在我的自定义WallpaperService类中设置。类似于这样:
class MyLiveWallpaperService extends WallpaperService {
MyResources sharedResources;
public onCreate() {
// set up some resources
}
public MyResources getSharedResources() {
return sharedResources;
}
}
我还为这个动态壁纸编写了一个偏好设置活动,它在res/xml/wallpaper.xml中正确设置。我想要的是以某种方式提供此PreferencesActivity对这些共享资源的访问权限。我知道我可以使它们成为公共静态字段,但我更喜欢更清晰的解决方案——如果有一种方法可以绑定到墙纸服务(这样我就可以访问MyLiveWallpaperService实例),那就太酷了。
最后,我的情况下活动和服务位于同一进程中,因此开发指南中描述的访问本地服务应该有效,但WallpaperService文档不建议覆盖onBind()方法,这使得这个想法无法实现。
还有其他办法吗? :)