¿Cómo copiar texto mediante programación en mi aplicación de Android?
Estoy creando una aplicación para Android y quiero copiar el valor de texto de un widget EditText. Es posible que el usuario presione Menu+A
y luego Menu+C
copie el valor, pero ¿cómo haría esto mediante programación?
Aceptado
Método de uso ClipboardManager#setPrimaryClip
:
import android.content.ClipboardManager;
// ...
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "Text to copy");
clipboard.setPrimaryClip(clip);
ClipboardManager
Referencia API
Entonces todos están de acuerdo en cómo se debe hacer esto, pero como nadie quiere dar una solución completa, aquí va:
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText("text to clip");
} else {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
android.content.ClipData clip = android.content.ClipData.newPlainText("text label","text to clip");
clipboard.setPrimaryClip(clip);
}
Supongo que tienes algo como lo siguiente declarado en el manifiesto:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" />