我们的应用程序要求TextViews或WebViews中显示的文本不可复制。我们可以为活动或应用程序中的控件禁用复制功能吗?
答案 0 :(得分:3)
在TextViews上试试这个,这个机制在WebView中也是一样的。
textView.cancelLongPress();
webView.cancelLongPress();
这应该有效,因为用户将无法触发onLongClickListner。希望这有助于实现最短的代码。
快乐的编码!
答案 1 :(得分:1)
当您长按文本区域时,会显示复制/粘贴/选择..对话框。如果您为视图覆盖onLongClickListener
而在内部不执行任何操作,该怎么办?或者使用ClipboardManager
并监听主要剪辑更改,如果发生更改,则检查是否有文本或其他内容,如果为true,则使用setPrimaryClip()
与ClipData
实例包含让我们说空字符串。这可能不是最好的方法,但这些指针可能会给你这个想法。
http://developer.android.com/reference/android/content/ClipboardManager.html
http://developer.android.com/reference/android/content/ClipData.html
答案 2 :(得分:0)
以下对我有用:
textView.setLongClickable(false);
答案 3 :(得分:0)
由于某种原因,其他任何答案都没有对我有用,所以这是我的看法。我特意在Webview上使用它:
webview.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.clear();
}
});
希望它有所帮助。