只需增加 dispatchKeyEvent方法 对Ctrl + C 做处理
@Override
public boolean dispatchKeyEvent(KeyEvent event){
int keyCode = event.getKeyCode();
if(event.isCtrlPressed() && keyCode == KeyEvent.KEYCODE_C && event.getAction() == KeyEvent.ACTION_DOWN){
return true;
}else if(event.isCtrlPressed() && keyCode == KeyEvent.KEYCODE_C && event.getAction() == KeyEvent.ACTION_UP){
if(mText != null){
int indexStart = mText.getSelectionStart();
int indexEnd = mText.getSelectionEnd();
CharSequence selectText = mText.getText().subSequence(indexStart, indexEnd);
ClipboardManager cm =(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
cm.setText(selectText.toString());
}
}
return super.dispatchKeyEvent(event);
}