¿Cómo obtengo datos del portapapeles? Quiero obtener datos y mostrarlos en brindis. Significa en mi teléfono Android en cualquier texto de edición. Cuándo presionaré prolongadamente y copiaré algún valor de cadena. Eso debería brindar. Cómo puedo conseguir esto ?? En cada tutorial que recibo, copian de especificar editText. Quiero que en cualquier parte de mi teléfono copie algo de texto... Solo necesito evaluar esa cadena en particular... Y clipboard.getText(); tampoco funciona.
Lo intenté
public class ClipBoardDataManager extends BroadcastReceiver { public ClipBoardDataManager() { } @Override public void onReceive(Context context, Intent intent) { String callNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); ClipboardManager clipboard = (ClipboardManager) ctx.getSystemService(Context.CLIPBOARD_SERVICE); ClipData myClip = ClipData.newPlainText("text", clipboard.getText()); clipboard.setPrimaryClip(myClip); ClipData abc = clipboard.getPrimaryClip(); ClipData.Item item = abc.getItemAt(0); Toast.makeText(ctx,item.toString(),Toast.LENGTH_SHORT).show(); } }y registrarse
IntentFilter intentFilter1 = new IntentFilter(String.valueOf(Intent.FILL_IN_CLIP_DATA)); ctx.registerReceiver(clipBoardDataManager,intentFilter1);Todavía no lo entiendo ... ¡Por favor, ayuda!
ClipboardManager clipBoard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE); clipBoard.addPrimaryClipChangedListener(new OnPrimaryClipChangedListener() { @Override public void onPrimaryClipChanged() { ClipData clipData = clipBoard.getPrimaryClip(); ClipData.Item item = clipData.getItemAt(0); String text = item.getText().toString(); // Access your context here using YourActivityName.this } }); val clipBoardManager = context.getSystemService(CLIPBOARD_SERVICE) as ClipboardManager clipBoardManager.addPrimaryClipChangedListener { val copiedString = clipBoardManager.primaryClip?.getItemAt(0)?.text?.toString() // Your code }Espero que esto ayude
Solución de trabajo limpia, reutilizable y simple usando la función de extensión -
fun Context.getFromClipBoard() : String? { val clipBoardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager return clipBoardManager.primaryClip?.getItemAt(0)?.text?.toString() }