使用ClipboardUtils兼容API LEVEL 11以下实现复杂粘贴
实现功能:复杂粘贴内容 问题描述:android.content.ClipboardManager在APILevel 11之后才可以使用,而我们目前还要兼容API Level 10(2.3.3)
解决办法:编写了一个工具类来完成这个工作“ClipboardUtils”。
VIEW SOURCE
public class ClipboardUtils {
private static ClipboardManager mClipboardManager;
private static android.content.ClipboardManager mNewCliboardManager;
private static void instance(Context context) {
if (SDK_INT >= HONEYCOMB) {
if (mNewCliboardManager == null)
mNewCliboardManager = (android.content.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
} else {
if (mClipboardManager == null)
mClipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
}
}
/**
* 为剪切板设置内容
*
* @param context
* @param text
*/
public static void setText(Context context, CharSequence text) {
if (SDK_INT >= HONEYCOMB) {
instance(context);
// Creates a new text clip to put on the clipboard
ClipData clip = ClipData.newPlainText("simple text", text);
// Set the clipboard's primary clip.
mNewCliboardManager.setPrimaryClip(clip);
} else {
instance(context);
mClipboardManager.setText(text);
}
}
/**
* 获取剪切板的内容
*
* @param context
* @return
*/
public static CharSequence getText(Context context) {
StringBuilder sb = new StringBuilder();
if (SDK_INT >= HONEYCOMB) {
instance(context);
if (!mNewCliboardManager.hasPrimaryClip()) {
Log.d("android.content.ClipboardManager", "Clipboard is empty");
return sb.toString();
} else {
ClipData clipData = (mNewCliboardManager).getPrimaryClip();
int count = clipData.getItemCount();
for (int i = 0; i < count; ++i) {
ClipData.Item item = clipData.getItemAt(i);
CharSequence str = item.coerceToText(context);
Log.i("mengdd", "item : " + i + ": " + str);
sb.append(str);
}
}
} else {
instance(context);
sb.append(mClipboardManager.getText());
}
return sb.toString();
}
}
思路:判断当前SDK版本,11以下使用android.text.ClipboardManager,否则采用android.content.ClipboardManager。
使用ClipboardUtils兼容API LEVEL 11以下实现复杂粘贴的更多相关文章
- Call requires API level 11 (current min is 8)报错
新建一个Android Application Project,其中MainActivity.java中报错如下 Call requires API level 11(current min is 8 ...
- Android Call requires API level 11 (current min is 8)的解决方案
[错误描述] 在用Eclipse开发过程中,为了兼容Android2.2和4.0以上版本,我在使用Notification类时做了2个版本的代码,代码根据系统版本不同执行相应模块,结果,等我输完代码, ...
- 【转】调用getActionBar()报Call requires API level 11 (current min is 8): android.app.Activity#getActionBar
解决办法: 第一种方法:修改AndroidManifest.xml中的minSdkVersion=11 第二种方法: 1.导入android-support-v7-appcompat项目,并将其作 ...
- Type Call requires API level 11 (current min is 8)解决办法
解决办法: 1:project-->clean.. 2:右键工程-->Android Tools-->clean lint markers 3:修改AndroidManifest.x ...
- Android API Level在11前后及16之后时Notification的不同用法
作为刚入门Android的小白,最近在按照郭大神的<第一行代码>在练习,在用到Notification时遇到了一些问题,网上资料比较零散,我这里做了一个总结分析给各位,若有错误,恳请指正~ ...
- 版本和API Level对照表
版本和API Level对照表 Code name Version API level (no code name) 1.0 API level 1 (no code name) 1.1 API le ...
- Android 系统名字、版本、API level的对应关系
从官网上找到的,具体地址是: http://source.android.com/source/build-numbers.html Code name Version API level Lolli ...
- Android AppCompat 需要 API 级别 11
为了兼容性使用 AppCompat 支持库.现在我试图override AppCompat 中的一些项来建立自己的Theme,在values文件下的style.xml里添加如下内容. <!-- ...
- 最新Android的SDK版本与API Level的对应关系
Android 7.1.1 API Level 25 Android 7.0 ...
随机推荐
- mysql主主复制(双主复制)配置步骤
以前我们介绍的都是主从复制,这里给各位介绍一个双主复制了,下面都希望两个主服务器数据自动复制的话可参考一下此文章. MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台 ...
- 一些CSS常见的小问题小笔记
父元素与子元素之间的margin-top问题: 给子元素盒子一个垂直外边距margin-top,父元素盒子也会往下走margin-top的值 解决方法: 1.修改父元素的高度,增加padding-to ...
- java基础-反射之Class.forName
Class.forName 查阅javaAPI public static Class<?> forName(String className) throws ClassNotFoundE ...
- D3 学习资源
发现这个网站还是挺不错的:http://www.ourd3js.com/wordpress/
- Big Event in HDU(HDU1171)可用背包和母函数求解
Big Event in HDU HDU1171 就是求一个简单的背包: 题意:就是给出一系列数,求把他们尽可能分成均匀的两堆 如:2 10 1 20 1 结果是:20 10.才最均匀! 三 ...
- C#函数式编程之缓存技术
缓存技术 该节我们将分成两部分来讲解,第一部分为预计算,第二部分则为缓存.缓存这个技术对应从事开发的人员来说是非常熟悉的,从页面缓存到数据库缓存无处不在,而其最重要的特点就是在第一次查询后将数据缓存, ...
- Linux中强制结束一个进程的终极方法
在 Linux Ubuntu 服务器上用 dnx 基于 Kestrel 成功运行一个 ASP.NET 5 站点后,怎么也无无法退出. 运行的命令如下: /data/git/dnx/artifacts/ ...
- node-webkit教程(13)gpu支持信息查看
node-webkit教程(13)gpu支持信息查看 文/玄魂 目录 node-webkit教程(13)gpu支持信息查看 前言 13.1操作步骤 (一)打开node-webkit,输入chrome: ...
- [JS13] ActivetX
<HTML> <head> <title>JavaScript Unleashed</title> <script type="text ...
- MySQL:InnoDB存储引擎的B+树索引算法
很早之前,就从学校的图书馆借了MySQL技术内幕,InnoDB存储引擎这本书,但一直草草阅读,做的笔记也有些凌乱,趁着现在大四了,课程稍微少了一点,整理一下笔记,按照专题写一些,加深一下印象,不枉读了 ...