Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。

ClipboardManager mClipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);

复制功能,首先要构造一个ClipData对象,并且把要复制的数据和 MIME type 赋值给ClipData,然后在把ClipData传入mClipboardManager.setPrimaryClip()方法,此时,我们完成了一个复制。

粘贴功能,调用mClipboardManager.hasPrimaryClip()来判断粘贴板是否有数据,然后通过mClipboardManager.getPrimaryClipDescription().hasMimeType()判断当前粘贴板的数据 MIME type是不是APP支持的,如果是APP支持的,获取数据mClipboardManager.getPrimaryClip()

下面就文本,URI,Intent的复制粘贴,分别提供一个demo。

文本

复制:

//第一个参数,是描述复制的内容,也可以和内容一样。
ClipData clipData = ClipData.newPlainText("copy from demo", mEtCopy.getText());
mClipboardManager.setPrimaryClip(clipData);

粘贴:

// 粘贴板有数据,并且是文本
if (mClipboardManager.hasPrimaryClip()&& mClipboardManager.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) {ClipData.Item item = mClipboardManager.getPrimaryClip().getItemAt(0);CharSequence text = item.getText();if (text == null) {return;}mEtPaste.setText(text);
}

URI 复制

复制:

Uri uri = Uri.parse(uriStr);
ClipData clipData = ClipData.newUri(getContentResolver(), "copy from demo", uri);
mClipboardManager.setPrimaryClip(clipData);

粘贴:

if (mClipboardManager.hasPrimaryClip()&& mClipboardManager.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_URILIST)) {ClipData.Item item = mClipboardManager.getPrimaryClip().getItemAt(0);Uri uri = item.getUri();if (uri == null) {return;}mTvScheme.setText(uri.getScheme());mTvUri.setText(uri.toString());
}

Intent 复制

复制:

Intent intent = new Intent(this, TextActivity.class);
ClipData clipData = ClipData.newIntent("copy from demo", intent);
mClipboardManager.setPrimaryClip(clipData);

粘贴:

if (mClipboardManager.hasPrimaryClip()&& mClipboardManager.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_INTENT)) {ClipData.Item item = mClipboardManager.getPrimaryClip().getItemAt(0);Intent intent = item.getIntent();if (intent == null) {return;}startActivity(intent);
}

复制粘贴功能的API并不难理解,如果想了解更多的功能,可以看官方API指南。
Demo地址

Android 复制和粘贴功能相关推荐

  1. android 复制,粘贴

    android 复制,粘贴流程很简单, 就是操作ClipboardManager写入或者获得数据, 需要导入 import android.text.ClipboardManager; //java代 ...

  2. 粘贴复制Android复制和粘贴的实现

    最近研究粘贴复制,稍微总结一下,以后继续补充: main.xml如下: <RelativeLayout xmlns:android="http://schemas.android.co ...

  3. Android复制查词功能,有道词典Android 3.6版发布 新增“复制查词”功能

    有道词典Android 3.6版发布 新增"复制查词"功能 2013-03-06 13:40:43  来源:网络 扫码可以: 1.在手机上浏览 2.分享给微信好友或朋友圈 摘要: ...

  4. Windows 技巧篇 - cmd的复制和粘贴功能

    python 运行时的报错信息,想用百度查查原因是啥.然后百度手动把关键错误信息打印出来,要是复杂点的话-,总之,好麻烦! 后来我知道了 cmd 的复制粘贴功能,彻底解放了双手,真是太爽了! 复制功能 ...

  5. vi中多个文件相互之间的复制、粘贴功能简介!

    大家在vi编辑中,常常遇到想把文件A里面的一行或多行,复制到B文件里面去  (可能很多人不知道怎么办),该怎么做了?  下面是几中方法:  1.如果你有多台机器,而且是联网的,你可以用netterm虚 ...

  6. android 粘贴文字,android 复制、粘贴文字

    Android的剪切板(ClipboardManager) 注意:导包的时候 API 11之前: android.text.ClipboardManager API 11之后: android.con ...

  7. js 跨 firefox ie 的复制,粘贴功能做法

    问题内容: Firefox实现IE下的复制粘贴功能 原讨论链接: http://community.csdn.net/expert/topicview1.asp?id=5115440 所属论坛: Ja ...

  8. Android中复制及粘贴功能

    工作中用到了Android的Copy and Paste功能,上官网http://developer.android.com/guide/topics/text/copy-paste.html#Cli ...

  9. android 自由复制与粘贴功能

    这个功能需要在android 2.1以上 主要设置如下: <TextView android:id="@+id/tviewt" android:layout_width=&q ...

最新文章

  1. java --级联操作(查询/更新)
  2. [ CodeForces 865 D ] Buy Low Sell High
  3. linux小波识别算法,人脸识别相关技术之小波变换
  4. element ui封装 tree下拉框
  5. I2C总线之(二)---时序
  6. 导入数据任务(id:373985)异常, 错误信息:解析导入文件错误,请检查导入文件内容,仅支持导入json格式数据及excel文件...
  7. 李彦宏:想活150得靠AI,雷军:下代旗舰机更AI | 大佬乌镇论道
  8. webstorm开发微信小程序
  9. android 5.0 屏幕录制,Android 5.0+ 视频录制 ScreenCapture
  10. 杭州英博电磁流量计通讯协议
  11. adobe flash java_Adobe 发布最后的 Flash 更新:官方强烈建议立即卸载
  12. java paypal开发详解_PayPal 开发详解(六):下载paypal立即付款SDK 并编译打包
  13. 常用网络js链接大全(jQuery、bootstrap、vue、ECharts、easyUI、React、maven、Mybatis、Spring、SpringMVC、Redis)
  14. 求解:Encountered internal error running command: TypeError: Cannot read property 'toLowerCase' of unde
  15. 关于本号,你想看的都在这里
  16. 计算机科学导论【第四版】读书笔记 (一)
  17. 中国求职者2亿私人简历泄露,APT情报资讯报告2018全球十大安全事件(10401字) (附PDF公号发“简历十大安全”下载)
  18. 有关PHP文档生成工具---PHPDocumentor
  19. Win10安装EZ-USB FX2LP CY7C68013(A)驱动程序的方法
  20. 服装办理软件的数据预备过程

热门文章

  1. 阶乘计算(Java版)
  2. 【2022南京大学操作系统(蒋岩炎)】(一)操作系统概述 | 操作系统上的程序
  3. 泰坦视频帧加密播放器
  4. 球球大神来救救孩子,孩子贫瘠的大脑完成不了这道题()!呜呜呜
  5. home brew 安装mysql_Mac 安装MySQL(Homebrew)
  6. java实战项目视频学习
  7. 解析文件中的价格数据,并计算平均价格
  8. websql线上sql查询
  9. echarts天气预报
  10. 折弯机使用说明书_折弯机操作方法