Android 获取剪切板第一条数据
16lz
2021-01-23
1,获取内容
/** * 获取系统剪贴板内容 */ open fun getClipContent() { val manager = this.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager if (manager != null) { if (manager.hasPrimaryClip() && manager.primaryClip.itemCount > 0) { val addedText = manager.primaryClip.getItemAt(0).text val addedTextString = addedText.toString() if (!TextUtils.isEmpty(addedTextString)) {// Toast.makeText(this, "addedTextString" + addedTextString, Toast.LENGTH_SHORT).show() if (addedTextString.contains("\$##DOUYIN##\$")) { var msg = addedText.substring(5, 11) inviteCode = msg runOnUiThread { masterEditText.setText(msg) masterLayout.visibility = View.GONE } } else { runOnUiThread { masterLayout.visibility = View.VISIBLE } } } else {// Toast.makeText(this, "addedTextString"+null, Toast.LENGTH_SHORT).show() runOnUiThread { masterLayout.visibility = View.VISIBLE } } } else {// Toast.makeText(this, "primaryClipk null!", Toast.LENGTH_SHORT).show() runOnUiThread { masterLayout.visibility = View.VISIBLE } } } else {// Toast.makeText(this, "剪切板为空!", Toast.LENGTH_SHORT).show() runOnUiThread { masterLayout.visibility = View.VISIBLE } } }
##2,要延时,不然监听不到数据。
//黏贴剪切板 GlobalScope.launch(Dispatchers.IO) { // 在一个公共线程池中创建一个协程 delay(300L) // 非阻塞的延迟一秒(默认单位是毫秒) Looper.prepare() getClipContent()// getCopy(this@RegisterActivity) Looper.loop() }
更多相关文章
- android设置字符串到剪贴板
- Android TextView限定行数最大值,点击按钮显示所有内容
- android > 读取http html 内容
- Android 采用SAX解析XML内容 【学习记录】
- Android实现动态显示或隐藏密码输入框的内容
- Android使用文件管理器打开指定文件夹,浏览里面的内容
- android解析httpresponce内容
- Android中TextView内容过长加省略号,设置超出6个字就用省略号表示
- Android心得3.2--用SAX解析器解析xml文件内容