Android: предотвращение копирования текста в буфер обмена - PullRequest
1 голос
/ 30 августа 2011

Наше приложение требует, чтобы текст, отображаемый в TextViews или WebViews, не копировался. Можем ли мы отключить функцию копирования для элементов управления в деятельности или приложении?

Ответы [ 4 ]

3 голосов
/ 30 августа 2011

Попробуйте это в TextViews. Этот механизм также работает и в WebView.

textView.cancelLongPress();
webView.cancelLongPress();

Это должно работать, так как пользователь не сможет запустить onLongClickListner. Надеюсь, что это поможет достичь в кратчайшие сроки кода.

Счастливого кодирования!

1 голос
/ 30 августа 2011

Диалог копирования / вставки / выбора ... и т. Д. Появляется при длительном нажатии на текстовую область. Что если вы переопределите onLongClickListener для своего просмотра и ничего не сделаете внутри? Или используйте ClipboardManager и слушайте изменения основного клипа, если изменения происходят, проверьте, есть ли текст или что-то еще, если true, тогда используйте setPrimaryClip() с экземпляром ClipData, который содержит, скажем, пустую строку. Это не может быть лучшим подходом, но эти указатели, возможно, дадут вам идею.

http://developer.android.com/reference/android/content/ClipboardManager.html

http://developer.android.com/reference/android/content/ClipData.html

0 голосов
/ 21 декабря 2011

По какой-то причине ни один из других ответов не сработал для меня, так что вот мое мнение.Я специально использовал его в Webview:

webview.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

            public void onCreateContextMenu(ContextMenu menu, View v,
                    ContextMenuInfo menuInfo) {
                menu.clear();

            }
        });

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 21 сентября 2011

у меня сработало ниже:

textView.setLongClickable(false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...