我正在寻找在android中完全禁用EditText复制/粘贴的解决方案。我试过很多帖子和博客,但都没有完全奏效。注意,它可以在某些设备上使用,但在o/s为4.0.1的HTC设备上使用相同的o/s时,当用户将输入的文本按三次时,它就不起作用了。下面是我现在用于EditText的示例类。
public class CustomEditText extends EditText{
boolean canPaste() {
return false;
}
@Override
public boolean isSuggestionsEnabled() {
return false;
}
public CustomEditText(Context context) {
super(context);
init();
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomEditText(Context context, AttributeSet attrs, int defStyle){
super(context, attrs, defStyle);
this.context = context;
init();
}
private void init() {
this.setCustomSelectionActionModeCallback(new ActionModeCallbackInterceptor());
this.setLongClickable(false);
this.setSelected(false);
}
private class ActionModeCallbackInterceptor implements ActionMode.Callback {
public boolean onCreateActionMode(ActionMode mode, Menu menu) { return false; }
public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; }
public boolean onActionItemClicked(ActionMode mode, MenuItem item) { return false; }
public void onDestroyActionMode(ActionMode mode) {}
}
}
注意:我检查了这个解决方案EditText:在文本选择处理程序单击事件上禁用粘贴/替换菜单弹出
请尝试下面的代码。
edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
});
如果您使用的是API级别11或更高,那么您可以停止复制、粘贴、剪切和自定义上下文菜单出现。
edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback()
{
public boolean onPrepareActionMode(ActionMode mode, Menu menu)
{
return false;
}
public void onDestroyActionMode(ActionMode mode)
{
}
public boolean onCreateActionMode(ActionMode mode, Menu menu)
{
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item)
{
return false;
}
});
从方法**onCreateActionMode(ActionMode, Menu)返回false将阻止**操作模式启动(全选、剪切、复制和粘贴操作)。
更多细节
我正试图编写代码,从一个Android应用程序发送一条短信,但当我试图发送短信时,它给我返回了错误: 我检查了,但我拥有清单中的权限,如下所示: null null 我在网上搜索了一下,但是所有的错误都是关于语法的,你能帮我一下吗?
我有一个简单的宏,它查看A1,然后复制和粘贴到另一张表的特定范围,回到原始表,然后偏移每一列,(复制和粘贴过程)直到第T列,然后下移1行并重复,然后将表保存为PDF,这个过程重复大约100次。 这两个工作表位于同一工作簿中,该工作簿在宏运行时已经打开。 请救命! 此外,这将有助于减少我的宏行太。 谢谢你的关注
问题内容: 我正在尝试2个替代方法: 忽略右键 忽略+ ,+ 这是我的代码: 这是我的HTML: 该功能有效,但不起作用。 问题答案: 你不能 您可以尝试阻止某些矢量(例如,使右键单击更加困难的黑客,拦截+ ,使其难以选择文本)……但是它们只能起到某种作用,并且不可能阻止所有矢量(编辑->复制) ?查看源代码??等…)。 如果您想保护内容免受技术含量较低的用户的侵害,则可以采用这些方法……但是,正
我很确定我以前做过这个,但是我找不到任何关于它的留档。我发现这个问题很难研究。 我想在屏幕上显示一段文本的一个版本(A)。但是,当文本被复制时,该文本(B)的不同版本实际上被复制到剪贴板。在实践中,A和B可能非常相似,但该技术应该允许A和B是完全不同的字符串。 例如,如果我使用
问题内容: 有没有一种方法可以使用JavaScript禁用将文本粘贴到HTML表单上的文本字段的功能? 例如,我有一个简单的注册表格,要求用户输入两次电子邮件。第二个电子邮件条目是为了验证第一个电子邮件条目中没有错别字。但是,如果用户复制/粘贴他们的电子邮件,那么这将无法达到目的,并且我一直在遇到用户的问题,因为他们输入了错误的电子邮件并复制/粘贴了它。 也许我不清楚我的问题,但我并不想阻止人们在