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端调用。