文档章节

Android 复制和粘贴功能

她叫我小渝
 她叫我小渝
发布于 07/20 01:16
字数 347
阅读 0
收藏 0

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765

 

 

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);

粘贴

URI 复制

复制:

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

粘贴

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地址

本文转载自:https://blog.csdn.net/kennethyo/article/details/76602765

共有 人打赏支持
她叫我小渝
粉丝 6
博文 46
码字总数 36547
作品 0
深圳
Android工程师
安卓应用安全指南 六、困难问题

六、困难问题 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 在 Android 中,由于 Android 操作系统规范或 Android 操作系统提供的功...

apachecn_飞龙
04/05
0
0
Android P 更改复制粘贴功能,与 iOS 类似

近日谷歌官方博客中确认了在文本复制粘贴时整合放大镜的功能,该功能在 5 月就已经宣布,目的是方便用户进行文字选择。 目前 Android 用户选择文字进行复制时,需要长按文本,在弹出选项框的...

h4cd
07/07
0
0
Unity3D调用快三平台出租原生Android和IOS复制粘贴功能

今天要实现快三平台出租 haozbbs.com Q1446595067 用Unity调用设备的复制到粘贴板功能,Unity没有实现这个功能,所以需要调用设备原生的功能了,在网上找了一下,不算太多而且大多都不能使用...

yuus
07/10
0
0
Android应用开发之(通过ClipboardManager, ClipData进行复制粘贴)

Android应用开发之(通过ClipboardManager, ClipData进行复制粘贴) Android Developer: 在开发一些系统应用的时候,我们会用到Android的剪贴板功能,比如将文本文件、或者其他格式的内容复制...

神剑戎
2013/04/24
0
0
如何构建一个结构清晰的Android程序

随着Android程序功能模块越来越多,模块之间的交互也日渐平常,一个结构在开始就设计良好的系统,不会因为上述的原因就出现大量的复制粘贴,如果出现大量的复制粘贴,那说明这个系统的结构设...

fneg
2012/06/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部