1、 手机ROM定制商: 添加service到SystemService
Service端实现: class CTestService extends ITest.Stub .
ServiceManager.addService("testinterface", this);
// 需要增加到相应的位置,确保系统启动时就供调用。
客户端:通过aidl调用远程service
使用 context.getSystemService 方法获取 ITest,
2、APK开发者调用一个普通的Service(其他APK提供的,或本APK提供的同进程或不同进程的):
定义一个Service的派生类:
private ITestService.Stub binder = new ITestService.Stub()
{ 在这个匿名类中实现AIDL的函数列表};
public IBinder onBind(Intent intent)
{ ... return binder}
本文介绍了Android中自定义Service的两种实现方法。第一种是针对手机ROM定制商,通过添加service到SystemService,并在ServiceManager中注册。第二种是APK开发者如何调用普通Service,包括本APK内的同进程或不同进程Service,通过实现AIDL接口并覆写onBind()方法来完成交互。
951

被折叠的 条评论
为什么被折叠?



