2016-10-14 12 views
0

私はデビット/クレジットカードの情報を読むために私のアプリにcard.ioを統合しています。私はそれを正常に統合しましたが、それは常にカード番号を取得していますが、期限切れではない、CVVとdisplay.Itは時々有効期限を取得しますが、決してカード所有者名とcvvを取得しません。さらにテーマを変更したいのであれば、テキストフィールドとボタンの背景は、編集不可能なライブラリクラスとして可能なものです。以下は、私が意図すなわちのために使っていたコードで、以下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 のpublic static final文字列EXTRA_KEEP_APPLICATION_THEME ブール。オプション。この値がtrueに設定され、アプリケーションにテーマがある場合、card.ioアクティビティのテーマはアプリケーションのテーマに設定されます。

EXTRA_KEEP_APPLICATION_THEMEをインテントエクストラで一定値にし、ブール値をtrueに設定します。

関連する問題