我一直在使用蓝牙智能卡读卡器(飞天br301),它似乎已经停止了无处不在的工作。
我认为这可能是我的读卡器的一个问题,但我有两个用于开发,并且都提出相同的问题,即使使用飞天的演示应用程序代码也可重复。演示开头是这样的:
BluetoothSocket mBlueToothSocket = mBlueToothDevice.createInsecureRfcommSocketToServiceRecord(MY_UUID);
mBlueToothSocket.connect();
mInput = mBlueToothSocket.getInputStream();
mOutput = mBlueToothSocket.getOutputStream();
mReader = new ft_reader(mInput, mOutput);
此部分按预期工作,没有任何问题。但是,当我打电话时:
mReader.PowerOn();
这只是inner_card.PowerOn()
调用的包装器,它返回-2
,这对我(以及文档)返回代码是未知的。
此外,虽然我的应用程序上没有使用,但仅在Feitian的演示中,尝试通过Handler
为设备注册inner_card.registerCardStatusMonitoring(Handler)
也会返回未知错误代码:-1
。< / p>
我的蓝牙设备会创建一个套接字并连接到它,没有问题,为什么它无法正常工作,甚至在此之后注册处理程序?
答案 0 :(得分:2)
调用PowerOn()时,需要在阅读器中插入智能卡。这种方法应该只为卡提供电源并读取ATR,因此如果它不适用于您当前的卡,您应该尝试使用不同的卡。
答案 1 :(得分:-1)
这是硬件,驱动程序或系统问题。我们不在这里解决问题。把它带到ServerFault或SuperUser。