当前位置: 首页 > 知识库问答 >
问题:

剪贴板不工作并返回null(Android/Java)

夹谷晋
2023-03-14

我正在制作一个程序,每次你点击一个按钮,它会显示你在文本视图中复制了什么文本
但是当我调用(ClipboardManager)getSystemService(CLIPBOARD_SERVICE)时,它返回null;
我已经复制了一些可用的文本(“ABC”),但它不起作用
我不知道剪贴板是否需要任何用户权限?在我的清单中,我没有写任何关于权限的内容
请帮帮我\

这是我的密码:

  ClipboardManager clipBoard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);

Button predictButton = (Button) mFloatingView.findViewById(R.id.predict);
predictButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.i("CLICK","work");
        if (clipBoard != null && clipBoard.getPrimaryClip() != null && clipBoard.getPrimaryClip().getItemCount() > 0) {
            Log.i("CLIPBOARD","work");
            ClipData clipData = clipBoard.getPrimaryClip();
            ClipData.Item item = clipData.getItemAt(0);
            String text = item.getText().toString();

            final TextView textViewToChange = (TextView) mFloatingView.findViewById(R.id.predict_text);
            textViewToChange.setText(text);
        }
    }
});

这是我的日志

I/ViewRootImpl@748418f[]: ViewPostIme pointer 1
I/CLICK: work
I/ViewRootImpl@748418f[]: ViewPostIme pointer 0
I/ViewRootImpl@748418f[]: ViewPostIme pointer 1
I/CLICK: work

共有1个答案

芮博厚
2023-03-14

因为在android 10或更高版本上,你不能访问剪贴板,否则它将返回null

 类似资料:
  • 我正在尝试使用数据库的第一个图像设置ImageView。由于某种原因,它不起作用,我不知道为什么。方法loadImage在不同的类中调用。 我还试着用一个单独的方法设置图像,但我需要在创建整个舞台场景等的同时调用它,即使从第二个方法那样调用它,它也不起作用。 这是持有setImage的类 当调用时,设置图像会给我一个null值,imageview的默认值为null,但实际上我正在加载一个图像,甚至

  • 介绍 在Hutool群友的强烈要求下,在3.2.0+ 中新增了ClipboardUtil这个类用于简化操作剪贴板(当然使用场景被局限)。 使用 ClipboardUtil 封装了几个常用的静态方法: 通用方法 getClipboard 获取系统剪贴板 set 设置内容到剪贴板 get 获取剪贴板内容 针对文本 setStr 设置文本到剪贴板 getStr 从剪贴板获取文本 针对Image对象(图片

  • 在系统剪贴板上执行复制和剪贴操作 进程: 主进程, 渲染进程​ 复制字符串例子: 1 const {clipboard} = require('electron') 2 clipboard.writeText('Example String') Copied! 在X Window系统上,还有一个选择剪贴板。要操作它,你需要传递selection到每个方法: 1 const {clipboard}

  • 在系统剪贴板上执行复制和粘贴操作。 进程: Main, Renderer 下面的示例演示如何将字符串写入剪贴板: const { clipboard } = require('electron') clipboard.writeText('Example String') On Linux, there is also a selection clipboard. To manipulate it

  • 我想在Android API上测试剪贴板,所以我开始使用Android的ClipboardManager和ClipData类创建一个简单的应用程序。我遵循了Android网站上的“复制和粘贴”指南,尽管我必须填写几个地方,因为该指南没有每行必要的代码(但我最终不得不注释掉Intent和URI粘贴方法,因为它没有给出具体的示例,因为我假设数据是多种多样的)。我运行了应用程序,但由于某种原因,我发送的

  • 问题是,从vim到剪贴板的复制/粘贴停止工作。我不知道为什么。。。 在中,我也没有看到和缓冲区... 这是我的。vimrc,如果需要的话。 有什么建议吗? 谢谢