android无Context的情况下获取system service
2017-02-15 15:07
232 查看
(1)获取android系统service的一般为:
context.getSystemService(Context.SYSTEM_SERVICE_NAME);
(2)但在有些情况下,在一个类中可能已经设计好了并没有传递当前的context进来,此时又需要在该类中调用相关系统服务。这时我们可以将系统服务直接映射到该类中:
private IAlarmManager alarmManager = null;/* IAlarmManager 由相应的aidj文件定义*/
alarmManager = IAlarmManager.Stub.asInterface(ServiceManager.getService(Context.ALARM_SERVICE));
然后即可调用相应服务的方法。
context.getSystemService(Context.SYSTEM_SERVICE_NAME);
(2)但在有些情况下,在一个类中可能已经设计好了并没有传递当前的context进来,此时又需要在该类中调用相关系统服务。这时我们可以将系统服务直接映射到该类中:
private IAlarmManager alarmManager = null;/* IAlarmManager 由相应的aidj文件定义*/
alarmManager = IAlarmManager.Stub.asInterface(ServiceManager.getService(Context.ALARM_SERVICE));
然后即可调用相应服务的方法。
相关文章推荐
- Android 关于系统Context.getSystemService(String arg0)获取系统服务的详细剖析-getSystemService
- Android-获取服务getContext().getSystemService()
- Android获取系统服务getSystemService与getService区别
- Android Context getSystemService分析
- 【Android】 context.getSystemService()浅析
- Android getContext().getSystemService()
- 浅谈Android system_service 注册Service、APP获取并访问服务(PMS:PowerManagerService)为例
- Android context.getSystemService()浅析
- Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
- Android getSystemService获取系统相应的服务
- Android操作系统服务(Context.getSystemService() )
- Android: Service中创建窗口显示(TYPE_SYSTEM_ALERT, TYPE_SYSTEM_OVERLAY)
- Android-Adding SystemService
- android 之 Service(Context BindService())
- android 之 Service(Context BindService())
- Android Audio System 之三: AudioPolicyService 和 AudioPolicyManager
- android获取手机SD卡的使用情况
- Android获取其他包的Context实例然后干坏事
- Android getSystemService
- 获取Android源码时如何解决【fatal: Unable to look up android.git.kernel.org (port 9418) (Name or service not kn