【发布时间】:2012-10-27 05:41:45
【问题描述】:
我刚刚将 card.io SDK 与我的应用程序集成,我只是想保存扫描的信用卡图像以便稍后在我的应用程序中显示它们,就像其他钱包应用程序一样。有什么办法吗?
【问题讨论】:
-
您找到保存扫描图像的方法了吗?如果是,请分享答案
标签: card.io
我刚刚将 card.io SDK 与我的应用程序集成,我只是想保存扫描的信用卡图像以便稍后在我的应用程序中显示它们,就像其他钱包应用程序一样。有什么办法吗?
【问题讨论】:
标签: card.io
来自 card.io 的 Josh 在这里。 card.io is open source,所以您可以四处挖掘并弄清楚如何将图像取出。
但是,默认情况下它是隐藏的,原因很充分。一是用户隐私。另一个是 PCI 合规性 - CVV2 位于 AmEx 卡的正面,不允许存储 CVV2(任何地方,无论是否安全)。
【讨论】:
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,您将获得该图像。
【讨论】: