我正在尝试从aIBinder
获取aService
,以便在收到系统通知时可以与服务通信。从我调用的onReceive()
方法中,我得到了一个空引用。
我在这里读到了Dianne的一些答案https://groups.google.com/forum/#!topic/android-developers/yiq_XIzFoS4并标记了他们推荐使用peekService()
的位置,但是我的服务有一个接口,我认为startService
应该可以工作,但它没有。
我是否需要权限才能从peekService
查看服务?我还需要别的吗?我确信服务正在运行,但我找不到活页夹。
最佳答案
如果通信是广播接收器->服务…然后使用startService(),通过将数据添加到intent的bundle来传递数据。
我怀疑你的广播接收器需要向服务机构(或其供应商)提出一个问题。在本例中,您使用peekservice。peekservice的缺点是,如果服务没有启动并绑定到,它将返回null。
答案是在接收广播之前,确保服务已启动并已绑定到。你如何做到这一点取决于你的具体应用。
如果您正在查看的服务是应用程序的一部分(相同的apk),则不需要特殊权限。