我的服务与启动服务的文件位于不同的java文件中。
为简单起见,我们调用一个Main.java和一个ServiceFile.java。
Main在onCreate()中启动服务(ServiceFile.java),服务在应用程序的生命周期内继续运行。该服务的功能是在单独的线程上执行网络操作 ,然后在接收数据后,创建一个Vehicle对象。
我需要将此对象从ServiceFile.java转移到Main.java
我在谷歌开发者身上看过Handlers,看起来就像我需要的那样。但是,我可以找到的处理程序实现的所有示例都是其他线程在同一个java文件中的示例。如何在这样的文件中发送sendMessage?
我有想过使用putExtra来提供对Handler的引用,但这不起作用,因为Handler不是parcelable or serializable.
答案 0 :(得分:2)
我认为更好的方法是,如果您可以从第二个活动绑定到服务,然后使用Binder
从服务获取对象。看一下这个答案here
基本上,在这个答案中做的是,你从IBinder
得到Service
,因此是Service
本身(已经在运行)的句柄。现在您已拥有该服务的句柄,您可以直接从该服务获得VO。
答案 1 :(得分:0)
有一个完整的指南,可以在Android开发者页面上实现您需要的任务类型: