我以特殊方式实现了card.io Android SDK: 我有一个webView,其中实现了一个按钮。此按钮具有特殊URL。当这个URL被shouldOverrideUrlLoading方法中的WebViewClient捕获时,会调用card.io scanner 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 itselve不是碎片!
有人可以帮我解决这个问题吗?我无法找到onDestroy的调用位置。在这个流程中永远不会调用完成!
答案 0 :(得分:1)
我发现了这个错误。 WebView在一个特殊的地方装满了no_history标志。所有其他正常工作的方式。
问题可以结束。