我刚刚将card.io SDK与我的应用集成,我只想保存扫描的信用卡图片,以便稍后在我的应用中显示,就像其他钱包应用一样。有什么办法吗?
答案 0 :(得分:5)
来自card.io的Josh在这里。 card.io is open source,所以你可以挖掘并找出如何取出图像。
但是,默认情况下隐藏它是有充分理由的。一个是用户隐私。另一个是PCI合规性 - CVV2位于AmEx卡的正面,不允许存储CVV2(任何地方,安全与否)。
答案 1 :(得分:0)
在card.io代码中不支持,但如果你真的需要它,你可以在CardIOActivity.java的onActivityResult中添加以下代码
/* added image response */
Intent origIntent = getIntent();
Log.d(TAG, "[IMGCAP] Return image on scan request");
if (origIntent.getBooleanExtra(EXTRA_RETURN_CARD_IMAGE, false)
&& mOverlay != null && mOverlay.getBitmap() != null) {
ByteArrayOutputStream scaledCardBytes = new ByteArrayOutputStream();
Log.d(TAG, "[IMGCAP] Attempting return of image");
mOverlay.getBitmap().compress(Bitmap.CompressFormat.JPEG, 80, scaledCardBytes);
data.putExtra(EXTRA_CAPTURED_CARD_IMAGE, scaledCardBytes.toByteArray());
}
Log.d(TAG, "[IMGCAP] Set result with return image");
/************************************/
setResultAndFinish(resultCode, data);
就在您看到发回活动结果的电话之前。您可以在通话活动中收到。 但正如上面提到的那样,它不建议用于捕获卡片图像。对于非金融卡,您只能调用检测和抑制扫描,如果启用EXTRA_RETURN_CARD_IMAGE,您将获得该图像。