Android:防止文本的剪贴板副本

时间:2011-08-29 22:34:56

标签: java android clipboard

我们的应用程序要求TextViews或WebViews中显示的文本不可复制。我们可以为活动或应用程序中的控件禁用复制功能吗?

4 个答案:

答案 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();

            }
        });

希望它有所帮助。