Android 剪切板的使用
2016-03-14 00:00
441 查看
摘要: Android 获取剪切板中的内容和添加数据至剪切板中的实现方法
Android剪切板的使用:
Android剪切板的使用:
一.添加内容:
String base64String = "我要复制的内容,放入剪切板中了"; //从Android系统中调用剪切板的服务 ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); //在剪切板中放入要传递的数据 clipboardManager.setText(base64String);
二.读取内容:
import android.content.ClipData; import android.content.ClipDescription; import android.content.ClipboardManager; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import com.ly.sxh.data.LoaderApp; /** * Created by SRain on 2016/3/4. * <p/> * 读取剪切板中内容 */ public class ClipboardUtils { public static final String MIME_TYPE_CONTACT = "vnd.android.cursor.item/vnd.xiaoma.contact"; public static String getClipboard(Context context) { String result = ""; LoaderApp app = (LoaderApp) context.getApplicationContext(); ClipboardManager clipboard = (ClipboardManager) context.getSystemService(context.CLIPBOARD_SERVICE); ClipData.Item item = null; //无数据时直接返回 if (!clipboard.hasPrimaryClip()) { app.shortToast("剪贴板中无数据"); return result; } //如果是文本信息 if (clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { ClipData cdText = clipboard.getPrimaryClip(); item = cdText.getItemAt(0); //此处是TEXT文本信息 if (item.getText() == null) { return result; } else { String str = item.getText().toString(); if (str.contains("#乐游口令#")) { result = analysisVerify(context, str); } } } else if (clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_INTENT)) { //此处是INTENT item = clipboard.getPrimaryClip().getItemAt(0); Intent intent = item.getIntent(); context.startActivity(intent); } else if (clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_URILIST)) { //此处是URI内容 ContentResolver cr = context.getContentResolver(); ClipData cdUri = clipboard.getPrimaryClip(); item = cdUri.getItemAt(0); Uri uri = item.getUri(); if (uri != null) { String mimeType = cr.getType(uri); if (mimeType != null) { if (mimeType.equals(MIME_TYPE_CONTACT)) { Cursor pasteCursor = cr.query(uri, null, null, null, null); if (pasteCursor != null) { if (pasteCursor.moveToFirst()) { //此处对数据进行操作就可以了,前提是有权限 } } pasteCursor.close(); } } } } return result; } /** * 清除剪切板中的内容,暂时用空字符代替 * TODO * @param context */ public static void clearClipboard(Context context) { ClipboardManager clipboard = (ClipboardManager) context.getSystemService(context.CLIPBOARD_SERVICE); ClipData.Item item = null; //无数据时直接返回 if (!clipboard.hasPrimaryClip()) { return; } //如果是文本信息 if (clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { String base64String = ""; //从Android系统中调用剪切板的服务 ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); //在剪切板中放入要传递的数据 clipboardManager.setText(base64String); } } private static String analysisVerify(Context context, String message) { String[] strs = message.split("进群口令"); LoaderApp app = (LoaderApp) context.getApplicationContext(); char[] msgs = strs[strs.length - 1].toCharArray(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < msgs.length; i++) { if ('0' <= msgs[i] && msgs[i] <= '9') { sb.append(msgs[i]); } } return sb + ""; } }
三、工具类代码
相关文章推荐
- C#线程间不能调用剪切板的解决方法
- C#、ASP.NET通用扩展工具类之TypeParse
- C#操作Clipboard读取剪切板中数据实例详解
- C#、ASP.NET通用扩展工具类之LogicSugar
- C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
- C#编程实现查看剪切板内容的方法
- 不依赖Flash和任何JS库实现文本复制与剪切附源码下载
- 简单实现兼容各大浏览器的js复制内容到剪切板
- JS将制定内容复制到剪切板示例代码
- Android学习笔记--使用剪切板在Activity中传值示例代码
- Js+Flash实现访问剪切板操作
- Android封装的http请求实用工具类
- Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕操作】
- Android AES加密工具类分享
- 超实用的android网络工具类
- 实例详解Android快速开发工具类总结
- Android 数据存储之 FileInputStream 工具类及FileInputStream类的使用
- Android开发之MediaPlayer多媒体(音频,视频)播放工具类
- Android开发之超强图片工具类BitmapUtil完整实例
- Android开发之图片切割工具类定义与用法示例