Jeff from card.io here.
We now allow the card type image to be retrieved in version 3.1.3 of the card.io Android SDK. To retrieve the card type image, please use
cardType.imageBitmap(context)
CardIOActivity.EXTRA_USE_CARDIO_LOGO is used for displaying the card.io logo when scanning a card, and is unrelated to retrieving the image logo.
Regarding the cardTypeId, I'm assuming you want the cardType enum and string. In Android, CreditCard.getCardType() returns the CardType enum, such as CardType.VISA or CardType.AMEX. If you want a localized name of the retrieved credit card, just call
cardType.getDisplayName(null) //optionally pass in the desired locale
The enum values are not something that should be important, because enums are meant to be consumed as enums. They should never be an undefined value (the iOS header file does not show 52 or 53 as possible values). If you think there's a bug, please file in in the card.io GitHub Android repo.