Android如何监听到刷卡动作

问题:Android如何监听到刷卡动作
设备:Android系统5.1,可以刷卡,但是不支持NFC
下面是卡,应该时IC卡
Android小新,不知道怎样能监听到刷卡动作,求强者赐教

img

安卓通过OTG线连接IC卡读卡器,如何监听到IC卡刷卡事件并获取IC卡数据

注册StorageEventListener来监听SD卡状态即onStorageStateChanged()方法,当sd卡状态改变时,调用该方法。

复制代码代码如下:
public void onStorageStateChanged(String path,String oldState,String newState){
if (newState.equals(Environment.MEDIA_SHARED)) //大容量存储
{
/////////////////
} else if (newState.equals(Environment.MEDIA_REMOVED)) //SD卡被移除
{
////////////////////
}
}

你说的可以刷卡是什么情况呢?比如可以在输入框获取焦点的时候刷卡后内容可以自动填充进入输入框吗?这样的情况可以直接监听键盘输入

  StringBuilder strBuilder = new StringBuilder();
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
//        LogUtil.e("KeyEvent: " + event.getKeyCode());
        if (event.getAction() == KeyEvent.ACTION_DOWN) {
            switch (event.getKeyCode()) {
                case KeyEvent.KEYCODE_0:
                    strBuilder.append("0");
                    break;
                case KeyEvent.KEYCODE_1:
                    strBuilder.append("1");
                    break;
                case KeyEvent.KEYCODE_2:
                    strBuilder.append("2");
                    break;
                case KeyEvent.KEYCODE_3:
                    strBuilder.append("3");
                    break;
                case KeyEvent.KEYCODE_4:
                    strBuilder.append("4");
                    break;
                case KeyEvent.KEYCODE_5:
                    strBuilder.append("5");
                    break;
                case KeyEvent.KEYCODE_6:
                    strBuilder.append("6");
                    break;
                case KeyEvent.KEYCODE_7:
                    strBuilder.append("7");
                    break;
                case KeyEvent.KEYCODE_8:
                    strBuilder.append("8");
                    break;
                case KeyEvent.KEYCODE_9:
                    strBuilder.append("9");
                    break;
                case KeyEvent.KEYCODE_ENTER:
                    if (!TextUtils.isEmpty(strBuilder)) {
                         Log.i("读卡器监听", strBuilder.toString());
                        strBuilder.delete(0, strBuilder.length());//清除
                    }
                    break;
            }
//            }
        }
        return super.dispatchKeyEvent(event);
    }