Issue
webview settings:
mWebView.getSettings().setSupportMultipleWindows(true);
webChromeClient settings:
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
WebView childWebView = new WebView(view.getContext());
childWebView.setWebViewClient(new MyWebViewClient());
parentView.addView(childWebView);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(childWebView);
resultMsg.sendToTarget();
return true;
}
@Override
public void onCloseWindow(WebView window) {
super.onCloseWindow(window);
parentView.removeView(window);
}
});
webViewclient settings:
class MyWebViewClient extends WebViewClient
{
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
}
problem:
when click a
tag with target="_blank"
(eg, <a href="https://stackoverflow.com" target="_blank">
), app native crash. signal 5 (SIGTRAP)
but window.open(url)
it runs without any problem.
i have searched the google issuetracker but couldn't find a solution.
it's a bug??
Solution
it's a old bug.
see https://issuetracker.google.com/issues/241151499
from google issue tracker.
Answered By - JYL
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.