身份证识别问题
private ServiceConnection mServiceConnection = new ServiceConnection() {public void onServiceConnected(ComponentName name, IBinder service) {
IDCardUtil.this.mService = Stub.asInterface(service);
try {
IDCardUtil.this.mService.registerCallback(IDCardUtil.this.mCallback);
} catch (RemoteException var4) {
}
IDCardUtil.this.setModel(1);
}
public void onServiceDisconnected(ComponentName name) {
IDCardUtil.this.mService = null;
}
};
private IDCardServiceCallback mCallback = new com.firefly.id_card.IDCardServiceCallback.Stub() {
public void onMachineConnect() throws RemoteException {
if (IDCardUtil.this.checkSupportIDCard()) {
IDCardUtil.this.mSupportMode = 2;
}
if (IDCardUtil.this.mIDCardCallBack != null) {
IDCardUtil.this.mIDCardCallBack.onMachineConnect();
}
}
public void onModeChanged(int mode) throws RemoteException {
if (IDCardUtil.this.mIDCardCallBack != null) {
IDCardUtil.this.mIDCardCallBack.onModeChanged(mode);
}
}
public void onSwipeIDCard(IDCardBean info) throws RemoteException {
if (IDCardUtil.this.mIDCardCallBack != null && info != null) {
IDCardUtil.this.mIDCardCallBack.onSwipeIDCard(info);
}
}
public void onSwipeICCard(ICCardBean info) throws RemoteException {
if (IDCardUtil.this.mIDCardCallBack != null && info != null) {
if (IDCardUtil.this.mEndianMode == 1 && !TextUtils.isEmpty(info.getIcID())) {
info.setIcID(IDCardUtil.this.covertLittleEndian(info.getIcID()));
}
IDCardUtil.this.mIDCardCallBack.onSwipeICCard(info);
}
}
public void onSwipeIDCardUUID(String uuid) throws RemoteException {
if (IDCardUtil.this.mIDCardCallBack != null) {
IDCardUtil.this.mIDCardCallBack.onSwipeIDCardUUID(uuid);
}
}
};
IDCardServiceCallback mCallback不被回调,service注册是返回true了,请问是什么原因? 1、您好,请确认是否已执行IDCardUtil.startIDCardListener();
可以参考Demo中的IDCardTestActivity
@Override
protected void onResume() {
super.onResume()
IDCardUtil.getInstance().startIDCardListener(IDCardTestActivity.this,callBack);
}
@Override
protected void onPause() {
super.onPause();
IDCardUtil.getInstance().stopIDCardListener(IDCardTestActivity.this);
}
2、另外IDCardUtil.startIDCardListener();主要是执行如下代码:
public void startIDCardListener(Context context, IDCardUtil.IDCardCallBack callback) {
this.bindIDCardService(context);
this.setIDCardCallBack(callback);
}
public void stopIDCardListener(Context context) {
this.unBindIDCardService(context);
this.setIDCardCallBack((IDCardUtil.IDCardCallBack)null);
}
private void bindIDCardService(Context mContext) {
try {
if (!this.isRegisterService) {
Intent intent = new Intent("com.firefly.IDCardService");
intent.setPackage("com.firefly.id_card");
boolean ret = mContext.bindService(intent, this.mServiceConnection, 1);
Log.v("idcarddemo", "bindService:" + ret);
this.isRegisterService = true;
}
} catch (Exception var4) {
var4.printStackTrace();
}
}
private void unBindIDCardService(Context mContext) {
try {
if (this.isRegisterService) {
if (this.mService != null) {
this.mService.unregisterCallback(this.mCallback);
}
mContext.unbindService(this.mServiceConnection);
this.isRegisterService = false;
}
} catch (Exception var3) {
var3.printStackTrace();
}
}
firefly_xdt 发表于 2020-10-13 11:09
1、您好,请确认是否已执行IDCardUtil.startIDCardListener();
可以参考Demo中的IDCardTestActivity
IDCardUtil.getInstance().setIDCardCallBack(this);
IDCardUtil.getInstance().bindIDCardService(this);
IDCardActivity里面onResume执行了以上代码,和startIDCardListener是一样的逻辑,我注释掉换成startIDCardListener,同样不可以。
另外IDCardActivity的类注释上有以下注释,没看到在哪里使用1,2 这两个整型值,是否有影响?
/***
* 1.只支持ICCard
* 2.支持ICCard和IDCard 即身份证
*/ firefly_xdt 发表于 2020-10-13 11:09
1、您好,请确认是否已执行IDCardUtil.startIDCardListener();
可以参考Demo中的IDCardTestActivity
IDCardTestActivity这个类没有,我只有FaceApiDemoV2这个工程代码 firefly_xdt 发表于 2020-10-13 11:09
1、您好,请确认是否已执行IDCardUtil.startIDCardListener();
可以参考Demo中的IDCardTestActivity
2020-10-13 14:13:15.381 1586-18207/com.firefly.id_card I/CardUsbUtil: 开始写入寻卡指令
2020-10-13 14:13:15.533 1586-18207/com.firefly.id_card I/CardUsbUtil: 寻卡校验回包失败~
2020-10-13 14:13:15.939 1586-18207/com.firefly.id_card I/CardUsbUtil: 开始写入寻卡指令
2020-10-13 14:13:16.091 1586-18207/com.firefly.id_card I/CardUsbUtil: 寻卡校验回包失败~
2020-10-13 14:13:16.496 1586-18207/com.firefly.id_card I/CardUsbUtil: 开始写入寻卡指令
2020-10-13 14:13:16.648 1586-18207/com.firefly.id_card I/CardUsbUtil: 寻卡校验回包失败~
2020-10-13 14:13:17.054 1586-18207/com.firefly.id_card I/CardUsbUtil: 开始写入寻卡指令
2020-10-13 14:13:17.206 1586-18207/com.firefly.id_card I/CardUsbUtil: 寻卡校验回包失败~
2020-10-13 14:13:17.611 1586-18207/com.firefly.id_card I/CardUsbUtil: 开始写入寻卡指令
2020-10-13 14:13:17.763 1586-18207/com.firefly.id_card I/CardUsbUtil: 寻卡校验回包失败~
2020-10-13 14:13:18.168 1586-18207/com.firefly.id_card I/CardUsbUtil: 开始写入寻卡指令
2020-10-13 14:13:18.320 1586-18207/com.firefly.id_card I/CardUsbUtil: 寻卡校验回包失败~ joemeng 发表于 2020-10-13 13:23
IDCardUtil.getInstance().setIDCardCallBack(this);
IDCardUtil.getInstance().bindID ...
是的,首先联调设备,必需支持IDCard 身份证 joemeng 发表于 2020-10-13 13:23
IDCardUtil.getInstance().setIDCardCallBack(this);
IDCardUtil.getInstance().bindID ...
直接运行Demo,打开这个界面IDCardActivity,会显示是否支持IDCard身份证,如图
firefly_xdt 发表于 2020-10-13 16:08
直接运行Demo,打开这个界面IDCardActivity,会显示是否支持IDCard身份证,如图
我运行demo和你这个截图一样。但问题是系统自带的FaceApp开机启动,闸机设置里面设置启用人证比对功能功能开启,就可以在人脸识别界面刷身份证 本帖最后由 firefly_xdt 于 2020-10-14 08:35 编辑
joemeng 发表于 2020-10-13 17:37
我运行demo和你这个截图一样。但问题是系统自带的FaceApp开机启动,闸机设置里面设置启用人证比对功能功 ...
“界面一样”,极有可能是“不支持IDCard”红色字眼吗?
如果有,那么极有可能说明该设备是不支持。 firefly_xdt 发表于 2020-10-13 18:09
“界面一样”,就是也有“不支持IDCard”红色字眼吗?
如果有,那么极有可能说明该设备是不支持。
系统自带的那个FaceApp,开启人证对比,可以刷身份证呢,而且我们买的那个身份证模块接上了
页:
[1]
2