gpt4 book ai didi

android - Activity 和/或服务

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

我的应用程序中有一个 Activity 和一个服务组件。

目的是让服务负责准备需要表面支架的 SurfaceView 和媒体播放器实例。我的媒体是一个视频文件。

是否可以从我的服务中创建表面 View ?

我可以调用以下吗

surface = (MySurfaceView) findViewById(R.id.surface);

在我的服务组件中?

如果这样做,我就可以将 surface.getHolder 分配给播放器实例的 setDisplay()

总体目标是从 Activity 发出命令(播放、停止、搜索等)并让服务实现对媒体播放器状态的控制。

我可能可以将所有内容放入我的 Activity 中,但是当我旋转设备时,我不想拆掉表面并在 onConfigurationChanged() 中重新创建它。因此,在此处查看针对我的情况使用该服务。

非常感谢任何想法或解决方案。

谢谢。

最佳答案

您可以使用 AsyncTask 实现而不是服务,然后执行

  • 所有的背景工作doInBackground 方法(不同线程,不会打扰用户接口(interface)),同时
  • 所有与 UI 相关的工作都可以完成在 onPostExecute 方法中(UI线程)。

更新
由于您需要在后台线程中播放媒体(而不会被 gui 进程中断),Service 可能是您的选择。不过,您还需要一个 Activity 来启动、停止和控制您的服务。
关于如何实现这个设计,你可以看看这个MusicDroid Tutorial part 2 .

虽然这不是强制性的,但要使用服务来完成此任务,@CommonsWare 的解决方案非常优雅且方便。
@CommonsWare's streaming video test application ,还有这个 Audio/Video player sample不要使用服务。

关于android - Activity 和/或服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5810069/

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