所以,我已经阅读了 android AIDL文档,并且大致了解了 RPC 在 Activity 和 Service 之间的工作方式。但是,对于我的应用程序来说,实现这些功能似乎有些过头了:基本上,我想向 Service 传递一个不错的处理程序,以便它的线程可以将数据传递给我的 Activity。目前我正在通过使用静态公共成员(hack)来解决这个问题,但我更喜欢在服务的起始 Intent 中传递一个 Handler 对象。例如,我可以在创建时轻松地将整数传递给我的服务:
int x = 0;
Intent svc = new Intent(this, MyService.class);
svc.putExtra("x",x);
startService(svc);
但是,由于 Handler 不是可序列化的,我还没有找到一种方法将其传递给服务,而无需简单的静态成员破解。有什么见解吗?或者,我只是不得不接受它并对服务进行正式的 RPC 吗?