android广播案例,Android 广播介绍与service一起使用案例
packagecom.example.rfidlibrary;importandroid.content.ComponentName;importandroid.content.Context;importandroid.content.Intent;importandroid.content.ServiceConnection;importandroid.os.IBinder;importand
packagecom.example.rfidlibrary;importandroid.content.ComponentName;importandroid.content.Context;importandroid.content.Intent;importandroid.content.ServiceConnection;importandroid.os.IBinder;importandroid.os.RemoteException;importandroid.util.Log;importcom.example.rfid_sdk_as.AIDLRFIDData;importcom.example.rfid_sdk_as.AIDLTagData;importcom.example.rfid_sdk_as.BarCodeData;importcom.example.rfid_sdk_as.IAPPServiceRemoteBinder;importcom.example.rfid_sdk_as.InitDeviceCallback;importjava.util.List;public classRFIDReaderManager {private static final String TAG = "RFIDReaderManager";private static final String PACKAGE = "com.example.rfid_sdk_as";private static final String BIND_ACTION = "com.example.rfid_sdk_as.APPService";privateIAPPServiceRemoteBinder binderService;private staticContext mContext;private staticRFIDReaderManager mManager;privateRFIDReaderServiceConnectListen mListener;public staticRFIDReaderManager instance(Context context) {
Log.i(TAG,"------------------instance-----------------");
mContext=context;if (mManager != null) {returnmManager;
}else{
mManager= newRFIDReaderManager();
}returnmManager;
}public voidserviceConnectListen(RFIDReaderServiceConnectListen listener) {
Log.i(TAG,"---------------------ServiceConnect");
mListener=listener;
Intent it= newIntent();
it.setAction(BIND_ACTION);
it.setPackage(PACKAGE);//it.setComponent(new ComponentName(PACKAGE, BIND_ACTION));
mContext.bindService(it, mserviceConnection, mContext.BIND_AUTO_CREATE);
}public voidunbind(){
Log.i(TAG,"---------------------unbind");if(mserviceConnection!=null){
mContext.unbindService(mserviceConnection);
}
binderService= null;
mListener.disConnect();
}
ServiceConnection mserviceConnection= newServiceConnection() {
@Overridepublic voidonServiceDisconnected(ComponentName name) {
unbind();
}
@Overridepublic voidonServiceConnected(ComponentName name, IBinder service) {
Log.i(TAG,"---------------------onServiceConnected");
binderService=IAPPServiceRemoteBinder.Stub.asInterface(service);
mListener.connected();
}
};public interfaceRFIDReaderServiceConnectListen{public voidconnected();public voiddisConnect();
}
}
更多推荐
所有评论(0)