【发布时间】:2016-01-27 11:18:20
【问题描述】:
我以一种特殊的方式实现了 card.io Android SDK: 我有一个 webView,其中实现了一个按钮。这个按钮有一个特殊的 URL。当 WebViewClient 在 shouldOverrideUrlLoading 方法中捕获到这个 URL 时,就会调用 card.io 扫描器 Intent:
if( StringUtils.contains( url, "activity_scan_activity://scan_activity" ) ) {
Intent scanActivity = new Intent(NativeBridgeActivity, CardIOActivity.class);
scanActivity.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, true); // default: false
scanActivity.putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, false); // default: false
scanActivity.putExtra(CardIOActivity.EXTRA_REQUIRE_POSTAL_CODE, false);
scanActivity.putExtra(CardIOActivity.EXTRA_HIDE_CARDIO_LOGO, true);
scanActivity.putExtra(CardIOActivity.EXTRA_SCAN_EXPIRY, true);
scanActivity.putExtra(CardIOActivity.EXTRA_REQUIRE_CARDHOLDER_NAME, true);
scanActivity.putExtra(CardIOActivity.EXTRA_SUPPRESS_CONFIRMATION, false);
NativeBridgeActivity.startActivityForResult(scanActivity, 9374);
}
在扩展抽象类 NativeBridgeActivity 的 WebViewActivity 中,实现了 onActivityResult 方法并且应该调用,但是 WebViewActivity 在所有情况下都会被破坏:当我按下scannerActivity 上的后退按钮时,当我扫描信用卡时,以及当我在扫描仪活动中按下键盘按钮时。
我的 WebView Activity 是一个 AppCompatActivity,它扩展了一个 FragmentActivity。 WebView 本身不是 Fragment!
谁能帮我解决这个问题?我找不到调用 onDestroy 的位置。在此流程中永远不会调用完成!
【问题讨论】:
标签: android camera android-camera android-camera-intent card.io