要解决安卓 WebView 默认选中工具栏的复制按钮无法工作的问题,你可以尝试以下解决方法:
WebView webView = findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.getSettings().setJavaScriptEnabled(true);
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
HitTestResult result = webView.getHitTestResult();
if (result.getType() == HitTestResult.SRC_ANCHOR_TYPE) {
menu.setHeaderTitle(result.getExtra());
menu.add(0, 1, 0, "复制链接地址").setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboardManager.setPrimaryClip(ClipData.newPlainText("URL", result.getExtra()));
Toast.makeText(MainActivity.this, "链接已复制", Toast.LENGTH_SHORT).show();
return false;
}
});
}
}
registerForContextMenu(webView);
这些代码将启用 JavaScript 并处理复制事件,使得在 WebView 中的链接可以被复制。
上一篇:安卓 - 特定角度的曲线圆角
下一篇:安卓 - 位置权限 - 弹窗响应