gpt4 book ai didi

android - 可能 WebView OnCreateWindow 制作弹出窗口(对话框样式)?像安卓浏览器

转载 作者:行者123 更新时间:2023-11-29 16:23:14 36 4
gpt4 key购买 nike

当我在 ebay.com 的 web View 中按下带有此代码的按钮时:

按钮的html:

input id="addPicturesBtn" name="addPicturesBtn" type="button" value="Add pictures" class="button" onclick="ebay.run(this.id,'onclick');return false;" onkeydown="ebay.run(this.id,'onkeydown');return false;" title="Add pictures"

如果在我的 webview 中按下这个按钮,它会将新窗口从我的 webview 发送到 android 浏览器。但是如果从 Android 浏览器中按下相同的按钮,它会弹出这个很酷的对话框类型弹出窗口(见图)

如果在我的 web View 中按下此按钮,我想像浏览器一样在 eBay 上打开弹出式窗口。以便用户可以关闭它,以便在完成弹出窗口后将它们返回到它后面的我的应用程序。

这可能吗?

这是我目前所拥有的:

   webChromeClient = new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) {
WebView childView = new WebView(Ebay.this);
final WebSettings settings = childView.getSettings();
settings.setJavaScriptEnabled(true);
childView.setWebChromeClient(this);
childView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(childView);
resultMsg.sendToTarget();

return true;
}
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
new AlertDialog.Builder(view.getContext()).setMessage(message).setCancelable(true).show();
result.confirm();
return true;

}

我错过了什么吗?

这是 android 浏览器弹出窗口的图片(我试图让我的 webview 从 ebay.com 上的按钮启动):

popup

最佳答案

使用javascript接口(interface)。将javascript与java结合并在java中制作自定义对话框首先,启用javascript

webview.getSettings().setJavaScriptEnabled(true);

其次,你需要添加javascript接口(interface)

wv.addJavascriptInterface(new DemoJavaScriptInterface(), "js");

第三,加载url;

webview.loadUrl("javascript:[javascript function name here]()");

给你一些代码,希望对你有帮助 https://github.com/scottagarman/Android-JavaScript-Interface-Example

代码归功于名为“scottagarman”的开发人员。

关于android - 可能 WebView OnCreateWindow 制作弹出窗口(对话框样式)?像安卓浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183102/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com