【发布时间】:2018-02-26 15:06:30
【问题描述】:
我正在使用Payfort sdk 使用我的应用程序进行在线支付,一切都已完全集成并且工作正常,在付款时,我可以毫无顾虑地使用普通卡进行支付,但是使用 3-D 安全卡 我必须输入密码进行验证,因此,带有密码字段的(由 Visa 验证的)网络视图会自动打开并显示所需的详细信息。
这里的问题是当点击密码字段时它获得焦点但键盘没有打开以写入密码,打开的 web 视图不是我的应用程序的视图,我无法控制它但是关闭。
我什至不知道如何确定它现在已打开,因为我没有收到任何相应的回调。
通过 Payfort 代码导航,我发现他们发出了一个 AlertDialog,其布局包含一个 webView,它需要显示验证页面链接:
private Dialog showVerificationDialog(Context context, String url, VerificationDialogDismissListener onDialogListener) {
LayoutInflater layoutInflater = LayoutInflater.from(context); // context here is MyActivity context
View view = layoutInflater.inflate(R.layout.web_dialog, null);
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
// just to display the Dialog at 80% of the screen
view.setMinimumHeight((int) (displayMetrics.heightPixels * 0.8f));
view.setMinimumWidth((int) (displayMetrics.widthPixels * 0.8f));
// setting the webView
WebView webView = (WebView) view.findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
// setting the Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setView(view)
.setOnCancelListener(onDialogListener);
if (Build.VERSION.SDK_INT >= 17) {
builder.setOnDismissListener(onDialogListener);
}
Dialog dialog = builder.create();
dialog.show();
return dialog;
}
此对话框包含用于验证过程的 webView,因此存在问题,但我找不到该代码的任何问题,任何所有内容都直接链接。
【问题讨论】:
标签: android android-keypad 3d-secure payfort