一般可以放在Activity的onResume中调用如下方法:

//获取剪切板内容

private void getClipboardData() {

this.getWindow().getDecorView().post(new Runnable() {

@Override

public 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输入法剪切板历史记录,Android Q 获取剪切板内容相关推荐

  1. 开发android 输入法,Android输入法开发实例解析 Android开发技术

    Android输入法开发实例解析 Android开发技术 2013 年 4 月 13 日 这里我们建立表1为BiHua,同时构建两个字段,字段1为"input"来存放输入的,字段2 ...

  2. android 获取剪切内容,Android Q 获取剪切板内容

    背景 有时候我们需要在app启动时去获取用户复制的内容,这时候需要进行剪切板相关操作,而Android Q开始只有系统默认的输入法应用或者应用处于焦点时才能获取到剪切板的数据,经测试只有targetS ...

  3. android 输入法sd卡,如何android扫描SD卡列出大文件

    闲来无事,正好以前老碰到这个磁盘空间满的问题 背景 安卓手机用了一段时间之后经常就报磁盘空间不够了,当然可以用手机管家,或者缓存/应用清理工具释放空间,但是还是会有莫名其妙的空间不够:这是由安卓的属性 ...

  4. Android 监听短信数据库过滤获取短信内容上传至服务器

    前言 Android 监听短信的方式有两种 1.监听短信数据库,数据库发生改变时回调. 2.监听短信广播 其中第二种方式由于国内各厂家的定制Android 可能导致无响应 目前测试 魅族 无法监听到短 ...

  5. android 输入法 候选,写一个Android输入法02——候选窗、转换

    上一篇介绍了完成Android输入法的最小化步骤,它只能将按键对应的字符上屏.一般的东亚语言都有一个转换的过程,比如汉语输入拼音,需要由拼音转成汉字再上屏.本文将在前文基础上加入完成转换过程所必需的候 ...

  6. 哪些公司开发android输入法软件,六款Android平台第三方输入法软件横评

    虽然现在非智能手机在第三方应用上已经有了相当大的进步,不少已经支持软件后台运行,与智能手机一样可以同时挂QQ.听音乐.看网页等等.不过安装第三方输入法仍然还只是智能手机的专利.记得第一次在诺基亚668 ...

  7. 2022-09-06 Android输入法顶起输入框,遮挡RecyclerView

    背景 IM项目中的会话界面,一般就是顶部一个标题,底部是输入区域,中间显示消息列表. 微信的会话界面中,进入会话界面,有以下几点: 隐藏输入法 当消息数量能占满屏幕时,底部显示最后一条,依次往上排列 ...

  8. 微信小程序点击复制文本到剪切板,获取剪切板内容

    设置剪切板:wx.setClipboardData 获取剪切板:wx.getClipboardData api:https://developers.weixin.qq.com/miniprogram ...

  9. Android 10 获取剪切板内容

    一般可以放在Activity的onResume中调用如下方法: //获取剪切板内容 private void getClipboardData() {this.getWindow().getDecor ...

  10. Cocos2dx 复制文本到剪切板(Android 和 ios)

    Cocos2dx 复制文本到剪切板(Android 和 ios) 至于c++调用java lua调用java 等方法这里不介绍了.下面本人真机亲测.如果有问题请留言交流. 1.Android 实现方式 ...

最新文章

  1. 【Ubuntu】在Ubuntu中设置永久的DNS
  2. 基于Java的RDMA高性能通信库(四):DaRPC
  3. c++ 多key_详解Zabbix自定义Key监控Rabbitmq(监控特定队列)
  4. LeetCode 1869. 哪种连续子字符串更长
  5. Spring Boot 集成 Elasticsearch 实战
  6. OpenShift 4 - Pod是如何使用Serivce Account访问API的
  7. python在webservice接口测试中的应用
  8. queue,stack中的库函数
  9. 面向对象的5条基本设计原则
  10. 练习Go语言-HTTP压力测试.md
  11. kindle书籍的后缀名_kindle可以看什么格式
  12. java时间转换之天数计算
  13. swap file .swp already exists
  14. 解决freeswitch30s就挂掉的问题
  15. 用html css实现五角星,用CSS画五角星
  16. Latex中求和符号的使用
  17. CentOS 7.9 安装NVIDIA 显卡驱动
  18. GT21L16S2W特殊字符计算地址
  19. 数据库的三个范式(sql server ,oracle ,db2...)
  20. vue3.0 vue.config.js配置(简洁,清晰)

热门文章

  1. win7安装Android Studio
  2. python执行bat文件_让Python文件也可以当bat文件运行
  3. [Markdown][HTML]特殊符号
  4. DCDC电源负载瞬态响应分析
  5. c语言中文件指针概念,C语言文件的概念和文件指针
  6. 在 isilon 中使用 ldap 登录 ftp 服务
  7. BCNF无损分解例题
  8. 拉开中兴帷幕 张朝阳再造搜狐
  9. 2020-07-16-----web前端开发中用到的PS基础操作(PS取色、PS测量、PS切片)
  10. try固定搭配_regret cease try等词的固定搭配用法