安卓之ClipboardManager的使用

本文详细介绍了Android系统中ClipboardManager的使用方法,包括不同API版本下的实现方式,并提供了使用ClipData复制文本、URI及Intent对象的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安卓之ClipboardManager的使用
项目中用到的复制和粘贴,这时候就要用到ClipboardManager
早期的Android剪切版只能复制文本信息。在API11对ClipboardManager进行了升级,使用它可以通过ClipData复制文本,uri和Intent对象。

下面给出案例

  int sdk=android.os.Build.VERSION.SDK_INT;
  if (sdk < 11) {
    android.text.ClipboardManager clipboard=(android.text.ClipboardManager)activity.getSystemService(Context.CLIPBOARD_SERVICE);
    clipboard.setText("出入需要设置的字符串")
    if(clipboard.hasText()){
       String text=clipboard.getText().toString();
    }
  }

sdk的版本小于11,使用text包下的clipboardmanager类,,但是在sdk版本大于11时,剪切板传递数据使用的setText()和getText()方法被弃用了,使用Intent包下的clipboardmanager类。

  int sdk=android.os.Build.VERSION.SDK_INT;
  if(sdk>=11){
      android.content.ClipboardManager clipboard=(android.content.ClipboardManager)activity.getSystemService(Context.CLIPBOARD_SERVICE);
      if (clipboard.getText() != null) {
      String text=clipboard.getText().toString();
}
sdk版本大于11时clipboardmanager下的settext和gettext方法也是被弃用的,使用新的ClipData类。

ClipData类的使用:

ClipData对象中包含一个或者多个ClipData.Item对象

1.创建普通的字符型:ClipData mClipData = ClipData.newPlainText("Label", "Content");

2.创建URL型:ClipData.newRawUri("Label", Uri.parse("http://www.baidu.cn"));

3.创建Intent型:ClipData.newIntent("Label", intent);

上面三种方法只在ClipData对象中创建了一个ClipData.Item对象,如果想向ClipData对象中添加多个Item应该通过ClipData对象的addItem()方法添加。

使用clipboardmanager的setPrimaryClip(传入ClipData对象)和getPrimaryClip()

  int sdk=android.os.Build.VERSION.SDK_INT;
  if(sdk>=11){
      android.content.ClipboardManager clipboard=(android.content.ClipboardManager)activity.getSystemService(Context.CLIPBOARD_SERVICE);
        c.setPrimaryClip(ClipData.newPlainText("Label", "Content"));
        if(c.hasPrimaryClip()){
            ClipData clipData=c.getPrimaryClip();
            String text = clipData.getItemAt(0).getText().toString();
        }
}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值