Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Card.io不扫描信用卡_Android_Credit Card_Card.io - Fatal编程技术网

Android Card.io不扫描信用卡

Android Card.io不扫描信用卡,android,credit-card,card.io,Android,Credit Card,Card.io,我正在尝试在我的应用程序中实现Card.io,我按照上的说明进行操作,当我进入我的应用程序并启动它时,它会锁定在我的卡上,但在那之后,没有其他事情发生。下面是我的代码 AndroidManifest <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.CAMERA"/> <--!.........

我正在尝试在我的应用程序中实现
Card.io
,我按照上的说明进行操作,当我进入我的应用程序并启动它时,它会锁定在我的卡上,但在那之后,没有其他事情发生。下面是我的代码

AndroidManifest

<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.CAMERA"/>

<--!..........................-->

<activity android:name="io.card.payment.CardIOActivity" android:configChanges="keyboardHidden|orientation" android:hardwareAccelerated="true"/>
<activity android:name="io.card.payment.DataEntryActivity" android:screenOrientation="portrait"/>
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == MY_SCAN_REQUEST_CODE) {
        String cardNumbs, cardExp, cardCVV;
        String resultStr;

        if (data != null && data.hasExtra(CardIOActivity.EXTRA_SCAN_RESULT)) {
            //TODO
            CreditCard scanResult = data.getParcelableExtra(CardIOActivity.EXTRA_SCAN_RESULT);

            cardNumbs = scanResult.getRedactedCardNumber();
            acctDebitCardNo.setText(cardNumbs);
            if (scanResult.isExpiryValid()) {
                cardExp = scanResult.expiryMonth + "/" + "20" + scanResult.expiryYear;
                acctDebitCardExp.setText(cardExp);
            } else {
                acctDebitCardExp.setError("Card Has Expired");
            }
            if (scanResult.cvv != null) {
                cardCVV = scanResult.cvv;
                acctDebitCardCvv.setText(cardCVV);
            }
        }
    }
}
启动摄像头的权限

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

        // customize these values to suit our/there needs...LOL :).
        scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, true);
        scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, true);
        scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_POSTAL_CODE, false); // default: false
        // hides the manual entry button
        // if set, developers should provide their own manual entry mechanism in the app
        scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_MANUAL_ENTRY, false); // default: false
        // matches the theme of your application
        scanIntent.putExtra(CardIOActivity.EXTRA_KEEP_APPLICATION_THEME, true);

        // MY_SCAN_REQUEST_CODE is arbitrary and is only used within this activity.
        startActivityForResult(scanIntent, MY_SCAN_REQUEST_CODE);
我不知道我做错了什么

  • 首先,您必须将card.io-5.0.1.aar(其内部aars文件夹)的文件扩展名更改为zip文件
  • 更改文件后,将其解压缩
  • 提取后,复制jni文件夹中的所有文件,并将其粘贴到项目的libs文件夹中
  • 瞧!。。现在应该可以用了!:)
    卡号是压印的吗?请参阅card io/card.io iOS SDK#20了解不支持非浮雕卡的原因。

    在我自己的例子中,问题是卡没有浮雕(大多数尼日利亚卡都没有)。Card.io和支付卡不适用于浮雕卡。如果此场景适合您的情况,您可能需要使用自己构建扫描仪。整个过程没有听起来那么复杂。你可以跟随来帮助你


    我希望这有帮助。快乐的编码

    我正在使用基于
    Maven
    存储库
    编译'io.card:android sdk:5.0.1'
    ,或者它也适用于它?我已经这样做了,但仍然得到了相同的非自动扫描行为,只是锁定了卡,Dave从card.io这里开始后没有发生任何事情。请尝试各种各样的卡片。io仅限于识别带有大浮雕数字的传统格式信用卡。即使使用这些卡,也不能在所有情况下都成功。嗯,我在5张不同的卡上试用过,但都没有成功(主要是Master卡和Visa卡)。由于它工作不好,我们决定不使用它。我认为你的服务无法读取任何尼日利亚卡。因为,我也是使用你的库的应用程序。它也不会准备任何尼日利亚卡。