card-io / card.io-Android-SDK

card.io provides fast, easy credit card scanning in mobile apps
Other
1.99k stars 535 forks source link

Camera not wanting to start and defaulting to manual imput #198

Open johan-schoeman opened 7 years ago

johan-schoeman commented 7 years ago

General information

I have compiled and are trying to run SampleActivity.java on a KitKat, Lollipop, and Marshmallow device. I have in the SampleActivity commented out all the "putExtra" statements so that it will use default values in CardIOActivity. The app starts but defaults to manual input when I click on button "Scan Credit Card using Card.io". This happens on all 3 devices.

On The Samsung S4 mini the CPU Architecture is ARMv7 Processor rev 0 (v7I) Instruction set is armeabi-v7a and armeabi

Anyone with some advise on how to get the scanner active?


   public void onScan(View pressed) {
        Intent intent = new Intent(this, CardIOActivity.class);

/*              .putExtra(CardIOActivity.EXTRA_NO_CAMERA, false)
                .putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, mEnableExpiryToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_SCAN_EXPIRY, mScanExpiryToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, mCvvToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_REQUIRE_POSTAL_CODE, mPostalCodeToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_RESTRICT_POSTAL_CODE_TO_NUMERIC_ONLY, mPostalCodeNumericOnlyToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_REQUIRE_CARDHOLDER_NAME, mCardholderNameToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_SUPPRESS_MANUAL_ENTRY, true)
                .putExtra(CardIOActivity.EXTRA_USE_CARDIO_LOGO, mUseCardIOLogoToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_LANGUAGE_OR_LOCALE, (String) mLanguageSpinner.getSelectedItem())
                .putExtra(CardIOActivity.EXTRA_USE_PAYPAL_ACTIONBAR_ICON, mShowPayPalActionBarIconToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_KEEP_APPLICATION_THEME, mKeepApplicationThemeToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_GUIDE_COLOR, Color.GREEN)
                .putExtra(CardIOActivity.EXTRA_SUPPRESS_CONFIRMATION, mSuppressConfirmationToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_SUPPRESS_SCAN, mSuppressScanToggle.isChecked())
                .putExtra(CardIOActivity.EXTRA_RETURN_CARD_IMAGE, true);  */

        try {
            int unblurDigits = Integer.parseInt(mUnblurEdit.getText().toString());
            intent.putExtra(CardIOActivity.EXTRA_UNBLUR_DIGITS, unblurDigits);
        } catch(NumberFormatException ignored) {}

        startActivityForResult(intent, REQUEST_SCAN);
    }`
lkorth commented 7 years ago

Please post the log output when you're attempting to start CardIOActivty. If the native libraries fail to load or the device is not supported you'll see those messages in the logs.

johan-schoeman commented 7 years ago

Got it sorted out - thanks.