By Nicholas Brown.
Copying data to the clipboard on an Android phone is not quite as easy as doing it on a computer, as you have to tap, hold, and then select what you want to copy. There is a convenient class called ClipboardManager that you can use to copy text to the clipboard of an Android phone.
This enables your app to automatically copy its output to the clipboard if the user wishes, or to copy anything else with the press of a button – no holding/selection required! A classic example of this is an OTP 2FA app.
The first step to copying data to the clipboard in Android is to import the two classes required to handle the clipboard object and data:
Example Code: Copying Text To The Clipboard In Android
import android.content.ClipData; import android.content.ClipboardManager;
Now you can create a ClipboardManager object. Let’s call it ‘clipboardexample’:
ClipboardManager exampleclipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
The next step is to create a ClipData object. Let’s call it ‘exampleclipdata’. The second parameter (‘texttocopy’ is the text you want to copy to the clipboard):
ClipData exampleclipdata = ClipData.newPlainText("label", "texttocopy");
Now you can finally apply it with the setPrimaryClip method:
Bear in mind that clipboard contents are accessible by other apps.
Example use case: If your app was to provide the user with something they would likely want to copy, you could use the code above to copy it to the clipboard the moment it is available (so the user doesn’t even have to click anything), then show them a toast saying it was copied. Some TOTP 2FA apps do this.