clipboard in android
Here is an example of how to use different types of clipboard functionalities in Android using Kotlin:
- Copy plain text to clipboard:
val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val plainText = "TEXT_TO_COPY"
val clipData = ClipData.newPlainText("label", plainText)
clipboardManager.setPrimaryClip(clipData)
- Copy an image to clipboard:
val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val bitmap = BitmapFactory.decodeResource(resources, R.drawable.IMAGE_TO_COPY)
val clipData = ClipData.newBitmap("label", bitmap)
clipboardManager.setPrimaryClip(clipData)
- Copy a URI to clipboard:
val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val uri = Uri.parse("URI_TO_COPY")
val clipData = ClipData.newUri(contentResolver, "label", uri)
clipboardManager.setPrimaryClip(clipData)
- Copy multiple items to clipboard:
val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val plainText = "TEXT_TO_COPY"
val bitmap = BitmapFactory.decodeResource(resources, R.drawable.IMAGE_TO_COPY)
val uri = Uri.parse("URI_TO_COPY")
val clipData = ClipData.newPlainText("label", plainText)
clipData.addItem(ClipData.Item(bitmap))
clipData.addItem(ClipData.Item(uri))
clipboardManager.setPrimaryClip(clipData)
- Paste from clipboard:
val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
if (clipboardManager.hasPrimaryClip()) {
val clipData = clipboardManager.primaryClip
val item = clipData?.getItemAt(0)
if (item != null) {
val text = item.text?.toString()
val uri = item.uri
val bitmap = item.getBitmap()
// Use the clipboard contents as needed
}
}
In this example, setPrimaryClip()
is used to copy data to the
clipboard, while getPrimaryClip()
is used to retrieve the
clipboard contents. ClipData
is a container class that can hold
one or more items of different types such as plain text, images, and URIs.
The ClipData.Item
class represents a single item in a
ClipData
container.