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.