文档章节

Android 复制和粘贴功能

她叫我小渝
 她叫我小渝
发布于 07/20 01:16
字数 347
阅读 2
收藏 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

共有 人打赏支持
她叫我小渝
粉丝 7
博文 52
码字总数 40720
作品 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 Studio的发布版SHA1和开发版SHA1

最近开始转战安卓,准备把我在苹果上的应用也在安卓上来一波,其中就遇到一个问题就是最牛天气(iOS和微信小程序都已经有了,就差安卓的了)引用的百度的定位功能,需要填写发布版SHA1和开发...

红角羚羊
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最重要的是做什么,而不是怎么做。

最重要的是做什么,而不是怎么做。 做什么是战略,怎么做是战术。将军下令说,天黑前拿下这座山头,这是战略。手下的士兵可以不知道为什么要拿下这座山头,还非得是天黑之前,但士兵必须知道...

我是菜鸟我骄傲
今天
1
0
w, vmstat, top, sar, nload命令查看系统状态信息

w/uptime 查看系统负载 cat /proc/cpuinfo 查看cpu核数 vmstat 监控系统状态,用法 vmstat 1,关键的几列: r, b, swpd, si, so, bi, bo, us, wa top 查看进程使用资源情况 top -c 显示详细的...

野雪球
今天
2
0
小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
今天
3
0
Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
2
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部