6.3.3 构造服务管理者对象

IPowerManager. Stub.Proxy对象定义于IPowerManager中,该类并不会公开到SDK中,因此如果需要用户使用该服务,还需要提供一个服务管理者对象。以power服务为例,其服务管理者对象为PowerManager,其代码如下:


public class PowerManager{

……

public PowerManager(IPowerManager service, Handler handler)

{

mService=service;

mHandler=handler;

}

……

public void goToSleep(long time)

{

try{

mService.goToSleep(time);//调用Proxy的goToSleep方法

}catch(RemoteException e){

}

}

……

IPowerManager mService;//保存Proxy的引用

Handler mHandler;

}


PowerManager是公开到SDK中的,在PowerManager的构造函数中,将IPowerManager.Stub.Proxy存入其内部成员变量mService中,然后提供API供Client端调用。