Android如何实现银行卡号扫描识别功能

这篇文章主要介绍了Android如何实现银行卡号扫描识别功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

首先导入依赖:compile 'io.card:android-sdk:5.5.1'

然后在你需要调用拍照的地方加上一下:

Intent scanIntent = new Intent(this, CardIOActivity.class);

// customize these values to suit your needs.
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, true); // default: false
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, false); // default: false
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_POSTAL_CODE, false); // default: false

// MY_SCAN_REQUEST_CODE is arbitrary and is only used within this activity.
startActivityForResult(scanIntent, MY_SCAN_REQUEST_CODE);

在onActivityForResult中接收结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);

  if (requestCode == MY_SCAN_REQUEST_CODE) {
    String result;
    if (data != null && data.hasExtra(CardIOActivity.EXTRA_SCAN_RESULT)) {
      CreditCard scanResult = data.getParcelableExtra(CardIOActivity.EXTRA_SCAN_RESULT);

      // Never log a raw card number. Avoid displaying it, but if necessary use getFormattedCardNumber()
      result = "Card Number: " + scanResult.getRedactedCardNumber() + "\n";

      if (scanResult.isExpiryValid()) {
        result += "Expiration Date: " + scanResult.expiryMonth + "/" + scanResult.expiryYear + "\n";
      }

      if (scanResult.cvv != null) {
        // Never log or display a CVV
        result += "CVV has " + scanResult.cvv.length() + " digits.\n";
      }

      if (scanResult.postalCode != null) {
        result += "Postal Code: " + scanResult.postalCode + "\n";

      }
    } else {
      result = "Scan was canceled.";
    }
    Log.e("resultdispalyStr----",result);

  }
}

感谢你能够认真阅读完这篇文章,希望小编分享的“Android如何实现银行卡号扫描识别功能”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,更多相关知识等着你来学习!