我刚刚将 card.io SDK 与我的应用程序集成,我只是想保存扫描的信用卡图像以便稍后在我的应用程序中显示它们,就像其他钱包应用程序一样。有什么办法吗?
问问题
3032 次
2 回答
5
来自 card.io 的 Josh 在这里。card.io 是开源的,因此您可以四处挖掘并弄清楚如何获取图像。
但是,出于充分的原因,默认情况下它是隐藏的。一是用户隐私。另一个是 PCI 合规性——CVV2 位于 AmEx 卡的正面,不允许存储 CVV2(任何地方,无论是否安全)。
于 2012-11-07T17:56:01.623 回答
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,您将获得该图像。
于 2015-08-20T06:18:38.200 回答