Android 10 获取剪切板内容
一般可以放在Activity的onResume中调用如下方法:
//获取剪切板内容
private void getClipboardData() {this.getWindow().getDecorView().post(new Runnable() {@Overridepublic void run() {//把获取到的内容打印出来Log.i("YoungerHu", ClipBoardUtil.paste());}});
}
对应的工具类是:
/*** 剪切板读写工具*/
public class ClipBoardUtil {/*** 获取剪切板内容* @return*/public static String paste(){ClipboardManager manager = (ClipboardManager) CourserApplication.getContext().getSystemService(Context.CLIPBOARD_SERVICE);if (manager != null) {if (manager.hasPrimaryClip() && manager.getPrimaryClip().getItemCount() > 0) {CharSequence addedText = manager.getPrimaryClip().getItemAt(0).getText();String addedTextString = String.valueOf(addedText);if (!TextUtils.isEmpty(addedTextString)) {return addedTextString;}}}return "";}/*** 清空剪切板*/public static void clear(){ClipboardManager manager = (ClipboardManager) CourserApplication.getContext().getSystemService(Context.CLIPBOARD_SERVICE);if (manager != null) {try {manager.setPrimaryClip(manager.getPrimaryClip());manager.setPrimaryClip(ClipData.newPlainText("",""));} catch (Exception e) {e.printStackTrace();}}}
}
具体原因我推测是这样,android Q的规定如下
只有默认输入法(IME)或者是目前处于焦点的应用, 才能访问到剪贴板数据.
而在onCreate
或者onResume
方法时,View
可能还处于申请获取焦点状态,导致获取不到剪切板数据,所以当所有View
都绘制完毕后,就可以获取到剪切板数据了。
Ps,所有View绘制完成后才会调用post()方法。
Android 10 获取剪切板内容相关推荐
- android 获取剪切内容,Android Q 获取剪切板内容
背景 有时候我们需要在app启动时去获取用户复制的内容,这时候需要进行剪切板相关操作,而Android Q开始只有系统默认的输入法应用或者应用处于焦点时才能获取到剪切板的数据,经测试只有targetS ...
- js获取剪切板内容(企业微信内嵌网页)
js获取剪切板内容 应用场景 剪切板内容获取 腾讯会议获取会议时间.会议链接和会议号 更新========================= 企业微信页面剪切板内容读取 iPhone无法进入页面 零宽 ...
- python获取剪切板图片_python 获取剪切板内容的两种方法
第一种 # -*- coding: utf-8 -*- # @Time : 2020/3/16 21:26 # @File : get_text_from_cupboard_13.py # @Auth ...
- 微信小程序点击复制文本到剪切板,获取剪切板内容
设置剪切板:wx.setClipboardData 获取剪切板:wx.getClipboardData api:https://developers.weixin.qq.com/miniprogram ...
- android读取剪切板的方法,Android复制粘贴剪切板内容的一种方法
1 Clipper介绍 Clipper是一款简单的app, 它可以通过一行adb shell命令来和安卓系统剪切板服务交互. 官方说明:https://github.com/majido/clippe ...
- js 获取剪切板内容
1. 粘贴事件 const items = (event.clipboardData || window.clipboardData).itemsconst len = items.lengthlet ...
- vue获取剪切板内容_vue通过clipboard插件实现复制到剪切板功能
1.在package.json添加依赖"dependencies": { "clipboard": "^2.0.0" } 2.页面引入cli ...
- python获取剪切板内容_如何从python中读取(windows)剪贴板中的文本?
如何从python中读取(windows)剪贴板中的文本? 如何从python中读取(windows)剪贴板中的文本? Foo42 asked 2019-06-22T21:38:33Z 10个解决方案 ...
- 小程序开发API之设置和获取剪切板内容wx.setClipboardData、wx.getClipboardData
wx.setClipboardData(Object object) 设置系统剪贴板的内容 参数Object 示例代码 wx.setClipboardData({data: 'data',succes ...
最新文章
- xdoj 1144 K叉哈弗曼树
- 比特大陆新任CEO疑似曝光背后
- WAS6集群部署及初步测试
- Linux下apache服务器安装,sqlite安装,apache启动,关闭,重启,编写cig程序进行测试,浏览器访问cig程序
- 列出我所知道的图像处理库
- java 可能尚未初始化变量,java - 局部变量“变量”可能尚未初始化-Java - 堆栈内存溢出...
- 最多分成多少块(51Nod-2502)
- lynda ux_UX编排原理
- linux下三三维建模软件,SolidWorks是基于()原创的三维实体建模软件。A.UNIXB.WindowsC.LinuxD.Dos...
- 内固定取出术后护理_骨折术后康复治疗全知道!
- Shader实例:NGUI制作网格样式血条
- 16-微信小程序商城 购物车首页底部菜单(微信小程序商城开发、小程序毕业设计、小程序源代码)(黄菊华-微信小程序开发教程)
- DataDictionaryTool 一款生成数据库字典工具支持mysql和oracle
- 国家漏洞库CNNVD:关于Dnsmasq多个缓冲区错误漏洞的通报
- Pascal 转 C++ 教程2
- 视频教程-金蝶K3 WISE 视频教程-ERP
- 金融分析python和r语言比较_金融领域R语言对比python
- 氨基酸序列碎裂by离子-生物信息学笔记
- Android-组件化开发
- 做好目标管理和任务管理,提高办公协同效率