calling getSystemService inside a service

天大地大妈咪最大 提交于 2019-12-02 07:38:51

I figured it out, the reason is that inside getSystemService, there's a call to this function:

 @Override
public Object getSystemService(String name) {
    return mBase.getSystemService(name);
}

which has mBase as null. This is a Context object. So I had to put the context of the activity that start the service in onCreate(). Code below:

 public HeartRateMonitorService(Context context){
    super();
    mBaseConext = context;
}


@Override
public void onCreate() {
    super.onCreate();
    attachBaseContext(mBaseConext);
}

I'm not sure this is the optimal solution, but it is a workaround.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!