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

作者:Jersey_me 时间:2021-09-05 01:56:50 

现在有好多扫描识别银行卡号的SDK都是收费的,但是也有不收费的,但是有一定的问题,就是那种印刷的银行卡号扫描不出来,希望哪位大神指导原因给解释下,这个不收费的SDK就是card.io-Android-SDK,githubdi地址

使用方式很简单,更多介绍可以看GitHub 使用文档:

首先导入依赖: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);

}
}

来源:https://blog.csdn.net/Jersey_me/article/details/72964625

标签:Android,银行卡号,扫描识别
0
投稿

猜你喜欢

  • 关于MyBatis中SqlSessionFactory和SqlSession简解

    2022-02-18 13:57:37
  • SpringBoot整合Mybatis自定义拦截器不起作用的处理方案

    2023-03-19 04:35:14
  • redisson 实现分布式锁的源码解析

    2022-06-05 05:38:47
  • java 使用JDBC构建简单的数据访问层实例详解

    2023-01-13 05:12:24
  • 鉴权认证+aop+注解+过滤feign请求的实例

    2022-06-05 14:25:34
  • C# WinForm RichTextBox文本动态滚动显示文本方式

    2021-09-12 20:44:31
  • MyBatis3源码解析之如何获取数据源详解

    2023-12-06 02:23:08
  • c# linq的差集,并集,交集,去重代码(分享)

    2022-04-18 05:46:11
  • eclipse报错 eclipse启动报错解决方法

    2023-04-28 08:43:49
  • java 工厂模式的实例详解

    2023-11-28 08:48:57
  • Android 限制edittext 整数和小数位数 过滤器(详解)

    2023-11-24 17:33:52
  • Java关键字详解之final static this super的用法

    2022-01-19 09:24:39
  • 关于cron表达式每天整点执行一次的问题

    2023-06-24 13:51:27
  • Android中获取IMEI码的方法

    2023-04-08 09:10:58
  • 浅谈Java中IO和NIO的本质和区别

    2023-11-01 01:44:08
  • 基于mybatis逆向工程的使用步骤详解

    2022-10-28 09:27:26
  • Java 反转带头结点的单链表并显示输出的实现过程

    2022-06-08 18:34:39
  • SpringBoot使用ApplicationEvent&Listener完成业务解耦

    2021-10-19 06:36:41
  • @ConfigurationProperties加载外部配置方式

    2023-11-09 01:14:32
  • springboot中filter的用法详解

    2022-04-02 19:52:37
  • asp之家 软件编程 m.aspxhome.com