Android 剪切板 ClipboardManager 的简单解析
来源:互联网 发布:vue.js和angularjs 编辑:程序博客网 时间:2024/06/06 04:18
其实android的剪切板使用不算复杂
而且一般的应用需求不会太复杂,只要简单的应用即可
一般都是点击事件时将某段文字复制到剪切板中
Android中的剪切板是使用ClipboardManager
来管理的
获取这个对象的方法是
Context.getSystemService(Context.CLIPBOARD_SERVICE);cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
在API11后
使用的是android.content.ClipboardManager
API11前
使用的是android.text.ClipboardManager
前者的方法声明是 public class ClipboardManager extends android.text.ClipboardManager
也就是说即使在API11后也可以使用旧的方法来获取和修改剪切板内的内容
CharSequence text = cm.getText();
可以获取到剪切板内的内容
使用cm.setText("复制到剪切板");
可以将内容复制到剪切板内
如果你的应用minSDK在11以上,可以直接用新的方法,毕竟老的已经过时了
使用如下的代码
cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); ClipData clipData = ClipData.newPlainText("title", "content23"); cm.setPrimaryClip(clipData);
可以简单的达到效果
这个有一个对象ClipData
package com.dn.clipbroaddemo;import android.content.ClipData;import android.content.ClipDescription;import android.content.ClipboardManager;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;public class MainActivity extends AppCompatActivity { private ClipboardManager cm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);// ClipData clipData = ClipData.newPlainText("title", "content23");// cm.setPrimaryClip(clipData);//// ClipData primaryClip = cm.getPrimaryClip(); ClipData data = new ClipData(new ClipDescription("label",new String[]{ClipDescription.MIMETYPE_TEXT_PLAIN}), new ClipData.Item("test")); data.addItem(new ClipData.Item("test0")); data.addItem(new ClipData.Item("test1")); for (int i = 0; i < data.getItemCount(); i++) { ClipData.Item item = data.getItemAt(i); Log.d("MainActivity", "item:" + item); } }}
日志输出:
09-18 15:49:26.977 30431-30431/com.dn.clipbroaddemo D/MainActivity: item:ClipData.Item { T:test }09-18 15:49:26.977 30431-30431/com.dn.clipbroaddemo D/MainActivity: item:ClipData.Item { T:test0 }09-18 15:49:26.977 30431-30431/com.dn.clipbroaddemo D/MainActivity: item:ClipData.Item { T:test1 }
这个对象中可以放很多Item,我想目的是为了扩展剪切板的功能吧
构造方法中需要传入一个ClipDescription
从字面意义上看应该是用于描述Data
ClipDescription primaryClipDescription = cm.getPrimaryClipDescription();ClipData primaryClip = cm.getPrimaryClip();
还可以从剪切板中取出对应的描述和data信息
总结来说:
获取manager对象
新建剪切板的内容对象
将对象放入剪切板中
0 0
- Android 剪切板 ClipboardManager 的简单解析
- Android初学------剪切板的使用(ClipboardManager)
- ClipboardManager android剪切板使用
- Android剪切板(ClipboardManager)复制文本
- Android剪切板(ClipboardManager) 复制文本
- Android剪切板(ClipboardManager) 复制文本
- android ClipboardManager的用法
- android实现文本信息复制,剪切板(ClipboardManager)
- android实现文本信息复制,剪切板(ClipboardManager)
- android实现文本复制到剪切板功能(ClipboardManager)
- android实现文本复制到剪切板功能(ClipboardManager)
- android实现文本复制到剪切板功能(ClipboardManager)
- Android实现文本复制到剪切板功能(ClipboardManager)
- Android 复制 粘贴 剪贴板的使用 ClipboardManager
- android 粘贴复制的管理类clipboardManager
- ClipboardManager剪切板使用详解(SDK_INT>11)
- Android 开发之 ClipboardManager
- Android 开发之 ClipboardManager
- 构造函数语义学----copy constructor
- mock_httpserver
- JAVA获取文件MD5值
- 第14章-对象作为参数(2)
- 从SVN拉下来的项目不是web项目
- Android 剪切板 ClipboardManager 的简单解析
- 如何在Windows平台下安装配置Memcached
- unity自定义创建资源包(代码片段)
- 使用C++画中国国旗
- 关于joomla1.5 easybook插件的一些问题
- [转载]使用cmake编译开源库
- java.sql.SQLException Parameter index out of range (9 > number of parameters, which is 8)
- android进程和线程
- 数据库监控相关:连接方式、主要采集信息