有服务和活动。
服务类有一个方法
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();
)
任何人都可以帮助我。
答案 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}}
注意:无论何时创建任何对象,都必须在使用之前对其进行初始化。