android - Android 中的后台服务 - 需要帮助

标签 android service background-process

我需要一些关于后台服务的帮助或建议。

好吧,我想实现这个目标。我有一个带有某些 View 的应用程序,该应用程序还有一个始终保持运行的后台服务。

在我看来,每当我按下该按钮时,就会有一个按钮,该按钮会将一些文件传递给后台服务,然后我的后台服务会将该文件上传到某个服务器上。

我已完成上传过程。现在我想知道如何制作一个始终保持运行的后台服务,并在我点击按钮时将文件发送到该服务。

我是后台服务实现的新手。

请用一些教程、建议或指南指导 friend 。

非常感谢

最佳答案

您可能已经阅读了一些 Android 服务文档,但我建议您进一步研究它并查看本地服务示例(如果您还没有这样做的话):

http://developer.android.com/reference/android/app/Service.html

听起来您已经启动并运行了您的服务,我认为您现在要解决的实际问题是如何将数据从您的 Activity 传送到您的服务。当您的 Activity 与属于同一应用程序的服务绑定(bind)时,该服务在同一进程中并在同一主 UI 线程上运行,因此一旦您在与服务绑定(bind)后从服务中获取 IBinder 对象,您可以直接直接从您的 Activity 调用该服务中的函数。同样,您可以从 Activity 向您的服务传递一个处理程序对象,以便该服务可以向您的 Activity 发送消息或发布 Runnable。因此,与本地 服务的通信非常简单。

因此,如果您查看上面链接中的本地服务示例,您将在代码中看到绑定(bind)完成后我们获取对服务的引用的部分:

mBoundService = ((LocalService.LocalBinder)service).getService();

在那之后,可以直接调用同一应用程序中该服务的方法。例如,您的服务中可以有一个名为 sendFile 的方法。在您的 Activity 中,您可能会执行以下操作:

mBoundService.sendFile( myStuffObject );

Stack Overflow 上有很多关于 Activity 和 Service 之间通信的问题,我认为您会发现搜索和阅读这些内容很有帮助。

关于android - Android 中的后台服务 - 需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6506419/

相关文章:

java - Android JSon 反序列化中无法识别的字段

java - Android 图标不断恢复默认状态

android - 调整移动设备的宽度

angular - 将数据存储在服务 Angular 2 中是一种很好的做法

C# 检查服务是否设置为自动(延迟启动)

php - Linux 如何在后台进程中依次运行 cat 和 unlink

ios - 在后台使用 NSURLSession 一个一个地下载 100 个文件的列表

android - IAB V3 中的 IllegalStateException

hibernate - Spring嵌套@Transactional方法和回滚

ruby-on-rails - 使用 shoryuken 进行后台作业时如何确定并发(线程)?