In this sample i am handling disable copy paste in EditText as well as desable clipboard. This is working fine for all devices.
Normally you achive this functionlity with this code
android:importantForAutofill="no" android:longClickable="false" But in some of device not working
Please add some more code
customInsertionActionModeCallback method added in android api level 23 and customSelectionActionModeCallback introduce with android api 11 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ this.customInsertionActionModeCallback= object : ActionMode.Callback{ override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean { return false } override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean { return false } override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean { return false } override fun onDestroyActionMode(mode: ActionMode?) { } } } this.customSelectionActionModeCallback = object : ActionMode.Callback{ override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean { return false } override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean { return false } override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean { return false } override fun onDestroyActionMode(mode: ActionMode?) { } } this@SecureInputView.privateImeOptions="disableToolbar=true" override fun onTouchEvent(event: MotionEvent): Boolean { if (event.action==MotionEvent.ACTION_DOWN){ setInsertionDisabled() } return super.onTouchEvent(event) } private fun setInsertionDisabled() { try { val field= TextView::class.java.getDeclaredField("mEditor") field.isAccessible=true val obj=field.get(this) @SuppressLint("PrivateApi") val editorClass = Class.forName("android.widget.Editor") val classfields=editorClass.getDeclaredField("mInsertionControllerEnabled") classfields.isAccessible=true classfields.set(obj,false) }catch (e:Exception){e.printStackTrace()} }