gpt4 book ai didi

android - Android 中的 Activity/动态壁纸通信

转载 作者:行者123 更新时间:2023-11-30 04:47:04 27 4
gpt4 key购买 nike

我有一个动态壁纸,我想通过同一个包中的 Activity 与之通信。我从来没有做过任何服务方面的工作。我可以使用 Local Service pattern 吗? ,还是因为我的服务是动态壁纸,需要使用 Intents 或 AIDL,所以被限制了?

我认为流程应该是这样的,请纠正我的过程可能失败的地方:

  1. 从动态壁纸选择器中预览动态壁纸
  2. 进入我的自定义设置 Activity
  3. 单击“屏幕截图”按钮或首选项以打开“屏幕截图” Activity
  4. 向我的墙纸发送消息,要求渲染屏幕截图位图
  5. 壁纸服务接收消息并将其当前视觉效果呈现为应用程序数据目录中的位图
  6. 墙纸向 Activity 发送一条消息,指示成功和位图的位置
  7. Activity 收到此消息,从给定位置加载位图,并将其显示给用户以供进一步处理/共享

我不确定的部分是 4-7 中传递的消息。

最佳答案

这就是我最终做的事情。我的主要目标是让我的动态壁纸创建其内容的屏幕截图。我不需要当前预览或主屏幕上实际显示的任何内容,只需要基于当前共享首选项的渲染。

我将墙纸服务的渲染方面分解到一个单独的类中。我的墙纸服务持有这个渲染类的一个实例,通过调用这个渲染器,动态壁纸可以正常运行。断开的类允许我从任何其他 Activity 实例化一个独立的渲染器,我可以向其发送位图。渲染器然后简单地绘制到指向提供的位图的 Canvas ,而不是在正常情况下从墙纸服务提供的 Canvas

关于android - Android 中的 Activity/动态壁纸通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4627381/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com