我正在从MyFragment.class中的onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)调用bind(),在onResume()中,我试图访问mSerive,但它显示的是空指针异常,onServiceConnected(ComponentName name, IBinder service)在onResume()之后调用。为什么我打电话给onServiceConnected时不调用bind(),有人能给出建议吗?
private final ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
try {
mService.unregisterCallback(mCallback.this);
mService = null;
} catch (RemoteException e) {
}
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
try {
mService = IService.Stub.asInterface(service);
mService.registerCallback(mCallback.this);
} catch (RemoteException e) {
}
}
};
public void bind() {
if (!mServiceConnected) {
mServiceConnected = true;
Intent connectionIntent = new Intent(IService.class.getName());
mActivity.bindService(connectionIntent, mServiceConnection,
Context.BIND_AUTO_CREATE);
}
}发布于 2015-06-01 06:12:40
试着用这个
// inapp
Intent serviceIntent = new Intent(
"com.android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.android.vending");
bindService = bindService(serviceIntent, mServiceConn,
Context.BIND_AUTO_CREATE);https://stackoverflow.com/questions/24954724
复制相似问题