Android剪切板功能

 2023-09-05 阅读 125 评论 0

摘要:object AppClipboardManager {private val appContext = MyApplication.instanceprivate val clipboardManager =appContext.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager/*** 底层是一个集合*/fun addPrimaryClipChangedListener(listener: OnP
object AppClipboardManager {private val appContext = MyApplication.instanceprivate val clipboardManager =appContext.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager/*** 底层是一个集合*/fun addPrimaryClipChangedListener(listener: OnPrimaryClipChangedListener?) {clipboardManager.addPrimaryClipChangedListener(listener)}/*** 底层是一个集合*/fun removePrimaryClipChangedListener(listener: OnPrimaryClipChangedListener?) {clipboardManager.removePrimaryClipChangedListener(listener)}/*** 剪切板是否含有内容*/fun hasPrimaryClip(): Boolean {return clipboardManager.hasPrimaryClip()}/*** 复制文字到剪切板*/fun copyClipboardText(content: String) {val mClipData = ClipData.newPlainText(appContext.getString(R.string.app_name), content)clipboardManager.setPrimaryClip(mClipData)}fun copyClipboardHtml(content: String, htmlText: String) {val mClipData =ClipData.newHtmlText(appContext.getString(R.string.app_name), content, htmlText)clipboardManager.setPrimaryClip(mClipData)}fun copyClipboardUri(uri: Uri) {val mClipData =ClipData.newUri(appContext.contentResolver,appContext.getString(R.string.app_name),uri)clipboardManager.setPrimaryClip(mClipData)}fun copyClipboardRawUri(uri: Uri) {val mClipData = ClipData.newRawUri(appContext.getString(R.string.app_name), uri)clipboardManager.setPrimaryClip(mClipData)}fun copyClipboardIntent(intent: Intent) {val mClipData = ClipData.newIntent(appContext.getString(R.string.app_name), intent)clipboardManager.setPrimaryClip(mClipData)}/*** 从剪切板读取文字*/fun readClipboardText(): String {if (hasPrimaryClip()) {val clipData = clipboardManager.primaryClipif (clipData != null && clipData.itemCount > 0) {val text = clipData.getItemAt(0).textreturn text.toString()}}return ""}fun readClipboardHtmlText(): String {if (hasPrimaryClip()) {val clipData = clipboardManager.primaryClipif (clipData != null && clipData.itemCount > 0) {return clipData.getItemAt(0).htmlText}}return ""}fun readClipboardUri(): Uri? {if (hasPrimaryClip()) {val clipData = clipboardManager.primaryClipif (clipData != null && clipData.itemCount > 0) {return clipData.getItemAt(0).uri}}return null}fun readClipboardIntent(): String {if (hasPrimaryClip()) {val clipData = clipboardManager.primaryClipif (clipData != null && clipData.itemCount > 0) {val text = clipData.getItemAt(0).intentreturn text.toString()}}return ""}
}

关于小米(读取剪切板权限目前未支持权限询问弹窗,所有应用默认权限状态为“智能允许”。)

剪切板隐私保护功能说明及读写剪切板权限调整说明

文档中心https://dev.mi.com/console/doc/detail?pId=2391

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/305.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息