Для нашего приложения требуется, чтобы текст, отображаемый в TextViews или WebView, не был скопирован. Можем ли мы отключить функцию копирования для элементов управления в действии или приложении?
Попробуйте это в TextViews, этот механизм аналогичен в WebView.
textView.cancelLongPress();
webView.cancelLongPress();
Это должно работать, поскольку пользователь не сможет запускать onLongClickListner. Надеюсь, это поможет достичь в кратчайшем возможном коде.
Счастливое кодирование!
Окно 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
По какой-то причине ни один из других ответов не работал для меня, так что вот мое занятие. Я специально использовал его в Webview:
webview.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.clear();
}
});
Надеюсь, это поможет кому-то.
Ниже я работал для меня:
textView.setLongClickable(false);
OnLongClickListener