文档章节

Android 复制和粘贴功能

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

共有 人打赏支持
她叫我小渝
粉丝 8
博文 59
码字总数 44341
作品 0
深圳
Android工程师
私信 提问
Android对阵iPhone 3.0 孰强孰弱

驱动之家:苹果最新发布了iPhone 3.0固件升级,随着这次的升级,iPhone中存在的问题不足被修正,而功能再一次得到增强。到底这款系统与Android系统孰强孰弱呢,下面的表格可以告诉你答案。 ...

红薯
2009/07/09
662
0
曝谷歌正为安卓 8.0 系统打造全新智能特性

据外媒(VentureBeat)报道,谷歌正在为其 Android 移动操作系统开发新的辅助功能。 这些功能可能并不会在下一个 Android 系统版本中亮相。谷歌预期在今年 5 月份的 I/O 大会上发布 Android ...

局长
2017/03/08
3.2K
10
安卓应用安全指南 六、困难问题

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

apachecn_飞龙
2018/04/05
0
0
最近遇到一个关于魅族兼容性问题,请大牛指教

自己写了一个界面,在其他机型上测试都没问题,但在魅族上出现了,查阅很多东西都不知道该怎么解决,下面简要说明一下情况,望各位大牛指点。 简单来说就是个在xml文件中有一个ScrollView,在...

toy_
2015/03/31
1K
1
Android P 更改复制粘贴功能,与 iOS 类似

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

h4cd
2018/07/07
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部