我有一个动态壁纸,我想通过相同包中的活动与之交流。我从来没有做过任何服务工作。我可以使用Local Service pattern,还是限制因为我的服务是动态壁纸,需要使用Intents还是AIDL?
我认为流程会像这样,请纠正我的流程可能失败的地方:
我不确定的部分是4-7中传递的信息。
答案 0 :(得分:1)
这就是我最终做的事情。我的主要目标是让我的动态壁纸创建其内容的屏幕截图。我不需要当前预览或主屏幕上实际显示的任何内容,只需基于当前共享首选项的渲染。
我将壁纸服务的渲染方面分成了一个单独的类。我的壁纸服务包含此渲染类的实例,通过调用此渲染器,动态壁纸正常运行。分解类允许我从任何其他活动中实例化一个独立的渲染器,我可以向其发送位图。然后渲染器简单地绘制到指向提供的位图的画布,而不是在正常情况下从壁纸服务提供的画布