Android ClipboardManager 系统剪贴板使用

剪贴板是 Android 中的一个重要功能,本质上是系统的一个服务。

  1. 获取剪贴板里的内容

    final ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
    ClipData data = cm.getPrimaryClip();
    //  ClipData 里保存了一个ArryList 的 Item 序列, 可以用 getItemCount() 来获取个数
    ClipData.Item item = data.getItemAt(0);
     String text = item.getText().toString();// 注意 item.getText 可能为空
    
  2. 设置剪贴板内容变化的监听器

    直接给 ClipboardManager 加一个ClipboardManager.OnPrimaryClipChangedListener 监听器就可以

    final ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
            cm.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() {
                @Override
                public void onPrimaryClipChanged() {
                    ClipData data = cm.getPrimaryClip();
                    ClipData.Item item = data.getItemAt(0);
                    String text = item.getText().toString();
                    Log.i(TAG, text);
                }
            });
    
  3. 往剪贴板里添加内容

    private void setClipDate() {
        final ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
        ClipData clipData = cm.getPrimaryClip();
        clipData.addItem(new ClipData.Item("hello"));
        cm.setPrimaryClip(clipData);
    }

这样添加的时候,在数据结构里是一个一个 Item 的形式,但是在获取的时候,例如粘贴,则会把所有 Item 拼接一起复制出来

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容