2016-10-14 6 views
0

Я интегрирую card.io в свое приложение для чтения информации дебетовой/кредитной карты. Я интегрировал его успешно, но он всегда получает номер карты, но не истекает, CVV и display.It иногда получить срок годности, но он никогда не получает имя владельца карты и cvv. И еще больше, если я хочу изменить тему, я имею в виду, что текстовые поля и фоны кнопок являются возможными, поскольку классы библиотек не редактируются. Ниже приведен код, я использую для намерения т.е.,Как получить данные и изменить тему Activity, на которой интегрирована card.io?

private void readCardInfo() { 
    Intent scanIntent = new Intent(getActivity(), CardIOActivity.class); 
    scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, true); 
    scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, true); 
    scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CARDHOLDER_NAME, true); 
    startActivityForResult(scanIntent, MY_SCAN_REQUEST_CODE); 
} 

и ниже код, я использую для получения данных о onActivityResult();

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == MY_SCAN_REQUEST_CODE){ 
     if (data != null && data.hasExtra(CardIOActivity.EXTRA_SCAN_RESULT)) { 
      CreditCard scanResult = data.getParcelableExtra(CardIOActivity.EXTRA_SCAN_RESULT); 
      cardNumber = scanResult.getFormattedCardNumber(); 
      if (scanResult.isExpiryValid()) { 
       expiryDate = scanResult.expiryMonth + "/" + scanResult.expiryYear; 
       LogHelper.debugLog("expiry date is " + expiryDate); 
       setExpiryDate(expiryDate); 
      } 
      if (scanResult.cvv != null) { 
       codeCVV = scanResult.cvv; 
       tvCVV.setText(codeCVV); 
      } 
      if (scanResult.cardholderName != null) { 
       cardHolderName = scanResult.cardholderName; 
       etNameOnCard.setText(cardHolderName); 
      } 
      setCardNumber(cardNumber); 
     } 
    } 
} 

Я делаю что-то неправильно или отсутствует какой-либо шаг?

ответ

0

Извините за поздний ответ Но если кто-то столкнется та же проблема, то это будет полезно

EXTRA_KEEP_APPLICATION_THEME общественности статической конечной строки EXTRA_KEEP_APPLICATION_THEME Boolean дополнительно. Необязательный. Если для этого значения установлено значение true, а приложение имеет тему, тема для действий card.io будет соответствовать теме приложения.

передать EXTRA_KEEP_APPLICATION_THEME константу в дополнительном намерении и установить значение boolean в значение true.