Android: предотвращение копирования текста в буфер обмена

1

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

  • 0
    Извините, я имел в виду OnLongClickListener
  • 0
    @Nikola, я не уверен, но что, если для другого представления требуется onLongClickListener, считаете ли вы, что это также повлияет на другие представления, переопределив этот метод?
Показать ещё 3 комментария
Теги:
clipboard

4 ответа

3
Лучший ответ

Попробуйте это в TextViews, этот механизм аналогичен в WebView.

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

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

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

  • 1
    не работает для меня (тестирование с желе-бобом)
1

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

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

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

0

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

webview.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

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

            }
        });

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

  • 0
    у меня не работает с kitkat 4.4.2
0

Ниже я работал для меня:

textView.setLongClickable(false);
  • 0
    у меня не работает с kitkat 4.4.2

Ещё вопросы

Сообщество Overcoder
Наверх
Меню