直接上代码:(对应的类:android.content.ClipboardManager)

                //获取剪贴板管理器:
ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
// 创建普通字符型ClipData
ClipData mClipData = ClipData.newPlainText("Label", "这里是要复制的文字");
// 将ClipData内容放到系统剪贴板里。
cm.setPrimaryClip(mClipData);

上面的代码就可以将文字放到剪贴板了,然后找个输入框“粘贴”就行啦~

ps:API 11之前,复制到系统剪贴板是cm.setText(“复制的文字”);但这句已经失效了,在API11后对,对ClipboardManager进行了升级,改成cm.setPrimaryClip(mClipData),使之可以通过(ClipData)复制文本、Uri和Intent。正如上面示例;

***********************************************************************

如需自由复制TextView等控件的文字,只是要在该控件上加上这句就好了android:textIsSelectable="true",或者java代码加 setTextIsSelectable(true);效果如图:


************************************************************************

下面详细介绍下:

(1)获取剪贴板管理器:

ClipboardManager mClipboardManager =(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);

(2)创建能够存入剪贴板的ClipData对象(ClipData对象中包含一个或多个ClipData.Item对象):
  A. 创建普通字符型ClipData:

       ClipData mClipData =ClipData.newPlainText("Label", "Content");         //‘Label’这是任意文字标签

B. 创建URL型ClipData:

       ClipData.newRawUri("Label",Uri.parse("http://www.baidu.com"));

C. 创建Intent型ClipData:

注意:上面三种方法只在ClipData对象中创建了一个ClipData.Item对象,如果想向ClipData对象中添加多个Item应该通过ClipData对象的addItem()方法添加。

(3)将ClipData数据复制到剪贴板:

ClipboardManager.setPrimaryClip(ClipData对象);  

(4)从剪贴板中获取ClipData数据:

ClipboardManager.getPrimaryClip();  

ps:普通字符串,URL和Intent三种数据使用情况:
(1)普通字符:就是普通字符串的剪切,复制,粘贴。
(2)URL:在复制的时候可以复制一个URL,这个URL可以是请求ContentProvider的URL,在粘贴的时候调用ContntProvider获取数据,并使用。
(3)Intent:如,在记事本应用中长按某一个记录本条目,这时会创建删除这个记事本的Intent,并添加到剪贴板,当用户将这个记事本条目拖到垃圾桶松开时,应用会从剪贴板中获取Intent并执行,这个记事本条目就被删除了。

Android 复制文本内容到系统剪贴板(自由复制)的更多相关文章

  1. Android 复制文本内容到系统剪贴板的最简单实践

    这个例子很简单,直接上截图和代码. 布局文件activity_copy.xml代码如下: <?xml version="1.0" encoding="utf-8&q ...

  2. 对于pycharm和vscode下,从外部复制文本内容为python字符串内容是会自动加\u202a解决办法

    先来看下这个python3源代码,表面上看没有语法毛病,如果源代码字符串内容是手动复制过来的文本内容,在pycharm和vscode下始终提示: pywintypes.error: (2, 'Shel ...

  3. js 实现点击复制文本内容

    js  实现点击复制文本内容 <table> <tr><td>姓名:<span onclick="copyContent(this);" ...

  4. vim复制内容到系统剪贴板

    vim提供了y键盘操作用于复制文本,但是复制之后的文本位于当前窗口的缓冲区中,不在系统剪贴板中,这给跨程序文本拷贝代码很来很多麻烦.搜索发现,可以使用]y指令快速将选定的文本复制到系统剪贴板中. 顺便 ...

  5. js复制文本内容到剪贴板

    记录一下使用clipboardData复制不成功. 1.定义一个按钮执行复制 <div> <button type="button" id="copyR ...

  6. Vim-复制选中内容至系统剪贴板,光标移动到指定行的行首和行尾

    1.全选并复制到系统剪贴板 ggVG或ggvG 然后 "+y gg 让光标移到首行,在vim才有效,vi中无效 V 是进入Visual(可视)模式 G 光标移到最后一行 "+y 复 ...

  7. jQuery按钮复制文本内容

    这种方法能保证文本内容被复制到windows剪切板,代码示例是复制url <!doctype html> <html> <head> <meta charse ...

  8. Vue实现点击复制文本内容(原生JS实现)

    需求: 实现点击订单编号复制内容 实现步骤: 这里我是在element 的table组件里实现的步骤,仅供参考,实际上实现思路都大同小异 首先在需要点击的地方,添加点击事件 <div class ...

  9. js实现复制文本内容到剪切板

    function copyUrl() { var Url2=document.getElementById("url").innerText; var oInput = docum ...

随机推荐

  1. 七牛直播云-m3u8格式直播

    直播架构 业务服务器:负责协调直播类应用的业务逻辑 创建直播房间 返回直播房间播放地址列表 关闭直播房间 LiveNet 实时流网络:负责流媒体的分发.直播流的创建.查询等相关操作 采集端:负责采集和 ...

  2. python 简单爬取今日头条热点新闻(一)

    今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的: 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式netwo ...

  3. css进阶----盒子模型,Reset CSS,css浮动,css定位,z-index属性

    盒子模型 把页面上的每一个元素当成一个盒子 由内容,内边距,边框,外边距组成 盒子模型举例 <!DOCTYPE html> <html lang="en"> ...

  4. NandFlash、NorFlash、DataFlash

    1. NandFlash和NorFlash        Flash存储芯片,俗称闪存,因其具有非易失性.可擦除性.可重复编程及高密度.低功耗等特点,广泛地应用于手机.数码相机.笔记本电脑等产品.   ...

  5. Java中处理线程同步

    引自:http://blog.csdn.net/aaa1117a8w5s6d/article/details/8295527和http://m.blog.csdn.net/blog/undoner/1 ...

  6. DELPHI RTTI实现非可视的功能插件

    思路:通过数据字典定义BPL包名,然后定义BPL包里面的类名,然后定义类里面的方法名,最后定义方法的参数值. 可实现动态加载BPL,调用哪个BPL的哪个类的哪个方法并给该方法赋给指定的参数值,如果是函 ...

  7. 网络基础篇(一)--TCP/IP协议族

    TCP/IP协议族是一个分层,多协议通信体系. 1 TCP/IP协议族体系结构 TCP/IP协议族自底而上分为四层: 数据链路层, 网络层, 传输层和应用层. 1.1 数据链路层 实现网卡接口的网络驱 ...

  8. 通过buildpath 导入jar和在lib下导入的jar包区别

    jar包放置在WEB-INF/lib下和通过build path导入的区别是什么? jar包直接拷贝到WEB-INF/lib下和以userLibrary形式引入的区别? jar包放置在WEB-INF/ ...

  9. 谈谈dynamickeyword

    谈谈dynamickeyword 前言 今天和谈了两年的女朋友分手了,一開始我还认为是由于这次的吵架,由于我今天一天没联系她,她就生气了,说了分手,我是说一開始我以为是这样.然后我想了想,矛盾就像不停 ...

  10. IOS的一个关于球碰撞的小游戏

    这个游戏是关于一个球随机在屏幕上移动,能够用手指来操纵令一个球,假设两个球碰撞到一起,就表示输了,很easy的一个游戏 在StoryBoard里定义两个UIImageView和一个startbutto ...