如何在活动的onResume()部分中访问服务对象的实例?

时间:2015-10-15 08:49:18

标签: android android-activity android-service

有服务和活动。

服务类有一个方法

methodA().

现在我已经在Activity中绑定了服务,并通过服务连接获得了服务实例。

问题是我无法访问onResume()方法

中的服务实例
Public void onResume(){
forExample.  mService.methodA // is throwing null pointer exception
}

更新:    这就是我创建服务实例的方式

class A extends Activity{
public ServiceClass mService = null; // service objecct
void onCreate(){
       Intent ServiceIntent = new Intent(this,BleWrapper.class);    
       bindService(ServiceIntent,mServiceConnection,BIND_AUTO_CREATE);
       mLeService = BLEService.getInstance();
} 
Public void onResume(){
  mService.methodA // is throwing null pointer exception
}
}

我的服务连接是

public final ServiceConnection mServiceConnection= new ServiceConnection() {  
    @Override
    public void onServiceConnected(ComponentName componentName, IBinder service) {
        mService = ((BleWrapper.LocalBinder) service).getService();
)

任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

您可以在Activity中的其他位置获取该服务的实例。结果可以赋予onResume()方法。

答案 1 :(得分:1)

当然它会抛出onCreate(),因为您根本没有未初始化服务。

使用mService.methodA()方法初始化服务,然后您可以onResume()上使用class A extends Activity{ public ServiceClass mService = null; // service objecct public void onCreate(){ mService = new ServiceClass(); } public void onResume(){ mService.methodA(); } }

{{1}}

注意:无论何时创建任何对象,都必须在使用之前对其进行初始化。