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

有没有可能在android 10的主屏幕小部件中粘贴剪贴板的内容?

孟祯
2023-03-14

我正在尝试创建一个小部件,它需要用户输入串行键。为了方便起见,我还添加了粘贴按钮,因为串行键长14位。以下代码适用于android 10之前的设备

ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
String serial = item.getText();

然后我比较串行和我们的串行正则表达式。问题是,当前片段为android 10返回空值。

以下限制,我发现官方留档。

对剪贴板数据的访问受限。

除非你的应用程序是默认的输入法编辑器(IME)或是当前有焦点的应用程序,否则你的应用程序无法在Android 10或更高版本上访问剪贴板数据。

当按下小部件上的按钮时,有什么方法可以启用焦点吗?提前谢谢。

共有1个答案

黄无尘
2023-03-14

访问剪贴板时,应聚焦窗口:

override fun onWindowFocusChanged(hasFocus: Boolean) {
    super.onWindowFocusChanged(hasFocus)
    if(hasFocus){
        val clipboard =
            getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
        val item: ClipData.Item = clipboard.primaryClip.getItemAt(0)
        val serial: String = item.text.toString()
    }
}

这应该在你的活动中起作用。

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

  • 在Linux上不接触鼠标,在命令模式下的VIM和系统剪贴板之间复制粘贴的最快方法是什么?

  • 使用“复制链接”按钮复制链接 导航到其他输入/文本字段 用Ctrl+V粘贴到字段中,并读取该字段的内容以验证 我的测试: 但是,没有任何内容粘贴到该输入(和return)。 谢了!

  • 本文向大家介绍javascript在网页中实现读取剪贴板粘贴截图功能,包括了javascript在网页中实现读取剪贴板粘贴截图功能的使用技巧和注意事项,需要的朋友参考一下 见某网站的输入框支持截屏粘贴的功能,觉得有点意思,于是将代码扒出来分享下。 可惜,目前仅有高版本的 Chrome 浏览器支持这样直接粘贴,其他浏览器目前为止还无法粘贴( IE11没测试过 ),当然这种增强型的用户体验功能有总比没

  • 在系统剪贴板上执行复制和剪贴操作 进程: 主进程, 渲染进程​ 复制字符串例子: 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