我尝试实现的代码包括服务和应用程序。 首次启动应用程序时,它会使用以下命令启动服务 startService(svc_name)调用。这里svc名称是指向的意图 运行服务的类。
我想在服务之间共享资源(文件/套接字连接) 和申请。例如,一个写入文件而另一个读取 从中。我无法在服务和应用之间获得正确的同步。
您能告诉我这是如何实现的吗? 提前致谢。
答案 0 :(得分:1)
如果您的应用和服务是两个独立的应用程序(不同的.apk文件),您可以查看使用aidl。 aidl允许您跨进程发送和接收消息。
但是,如果您的应用程序(活动)和服务共享相同的进程(相同的.apk文件),那么您可以使用SharedPreference或静态成员。 SharedPreference可由应用程序的所有线程访问,并且在运行之间是持久的。
http://developer.android.com/reference/android/content/SharedPreferences.html
它只能处理简单类型,如Boolean,Integer,Long,Float和String。
答案 1 :(得分:0)
与服务通信的正确方法是通过RPC。 android RPC库非常容易使用,只需在ApiDemos中查找Remoting示例。