Android 如何在PrimaryClipChanged 上从剪贴板获取字符串?

2023-12-20

我正在尝试使用以下侦听器将文本复制到剪贴板中:

import android.content.ClipboardManager.OnPrimaryClipChangedListener;
import com.orhanobut.logger.Logger;

public class ClipboardListener implements OnPrimaryClipChangedListener
{

    public void onPrimaryClipChanged()
    {
        // do something useful here with the clipboard
        // use getText() method
        Logger.d("Clipped");
    }
}

监听器初始化如下:

ClipboardManager clipBoard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
clipBoard.addPrimaryClipChangedListener( new ClipboardListener());

文本复制到剪贴板后onPrimaryClipChanged被解雇,但我不知道如何使用此方法获取复制的文本ClipboardManager.getPrimaryClip() https://developer.android.com/reference/android/content/ClipboardManager.html#getPrimaryClip()%22getPrimaryClip()%22因为该方法在上下文中不可用,并且未在 param 中传递onPrimaryClipChanged.


我建议按如下方式添加侦听器,而不是创建一个新类。我已经介绍了如何从 ClipData 获取文本。

您提到无法在侦听器中访问您的上下文,我在下面的代码中添加了一条注释,说明了如何执行此操作。

ClipboardManager clipBoard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
clipBoard.addPrimaryClipChangedListener(new OnPrimaryClipChangedListener() {

    @Override
    public void onPrimaryClipChanged() {
        ClipData clipData = clipBoard.getPrimaryClip();
        ClipData.Item item = clipData.getItemAt(0);
        String text = item.getText().toString();

        // Access your context here using YourActivityName.this
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 如何在PrimaryClipChanged 上从剪贴板获取字符串? 的相关文章

  • (colorPrimaryDark) 状态栏颜色在 android v21 上不起作用?

    我在 style xml 上添加了 colorPrimaryDark 但状态栏 android v21 上的颜色没有受到影响 我有一个自定义工具栏 我在 style xml 代码中不使用操作栏主题 如果有任何解决方案请帮助我吗 样式代码
  • 使用 Firebase 数据填充 Android spinner

    我在填充时遇到一些问题propertyAddress从我的properties桌子到我的旋转器MaintenanceActivity 问题本身不在于代码 而在于可以使用 Firebase 控制台修改的数据库规则 目前 我的规则是这样的 ru
  • Android NDK:断言失败:TARGET_PLATFORM 未定义

    使用 NDK r5b 时 当我使用以下命令在 jni 目录中进行构建时 NDK DIR ndk build 效果很好 但是当我切换到 r6b 只需以不同的方式设置 NDK DIR 并运行相同的命令时 我得到 usr local androi
  • 如何创建轮播ViewPager?

    我想做的只是 Android 中的水平轮播 如果我有 3 个屏幕 A B 和 C 那么我希望我的 ViewPager 允许我像这样移动 A B B C C A GTalk for Android 的对话可以这样切换 三星的主屏幕和应用程序屏
  • 如何将参数传递给Workmanager DoWork方法

    我想安排任务在 24 小时后从数据库中删除 public class WorkManager extends Worker public WorkManager NonNull Context context NonNull WorkerP
  • 如何在Android中创建类似架子的视图?

    如何在android中创建一个类似书架的视图 在任意行中显示多本书 此外 它应该具有像 Moon reader 应用程序那样的水平和垂直功能 我可以编写一个水平移动的架子视图 但它不能完全工作 我使用 xml 文件来查看包含图像 文本和按钮
  • 如果使用键盘,如何捕获 TimePicker 中的时间变化?

    我有一个小部件 它是一个 TimePicker 用于检索数据库字段中保存的时间 问题是 当用户更改小部件中的时间值时 这不会保存在数据库中 所以我遇到了setOnTimeChangedListener如果您只在小部件中使用加号和减号 那么该
  • onPictureTaken 之后旋转 JPEG 的字节数组

    有没有办法旋转字节数组而不将其解码为位图 目前在 jpeg PictureCallback 中我只是将字节数组直接写入文件 但图片是旋转的 我想旋转它们而不解码为位图 希望这能节省我的记忆 BitmapFactory Options o n
  • 从 java 活动 *.java 启动 kotlin 活动 *.kt?

    使缓存无效 重新启动 帮助我 我在java类中的代码是 Intent intent new Intent view getActivity AddPaymentActivity class view getActivity startAct
  • 覆盖乔达一周的第一天?

    是否有可能覆盖乔达弱的第一天sunday 因为 Joda 使用Monday作为一周的第一天 如果有办法的话 谁能解释一下 我在 SOF 中提到了以下主题 乔达时间 一周的第一天 https stackoverflow com questio
  • 使用 ACTION_VIEW Intent Action 启动文件

    我有以下代码来启动文件 try path fileJsonObject getString filePath if path indexOf 0 path path substring 1 path length path root pat
  • Android:调用超类的原因?

    我正在查看 Android 开发人员网站上的记事本教程 我有一个关于调用活动超类的重写函数的问题 例如 public class Notepadv3 extends ListActivity Override public boolean
  • Firebase 邀请发送电子邮件,但不发送短信。返回结果代码 0

    我正在尝试使用 Firebase 在我的 Android 应用程序中实现应用程序邀请系统 该代码与他们中给出的完全相同guide https firebase google com docs invites android private
  • Android 中 Bitmap 和 Drawable 有什么区别?

    我用谷歌搜索 但找不到任何文章来描述 Android 中 Bitmap 和 Drawable 之间的区别 位图是位图图像的表示 类似于 java awt Image Drawable 是 可以绘制的东西 的抽象 它可能是一个位图 包装为Bi
  • AndroidPlot:从 1 到 11 的域标签

    我已经在我的应用程序中实现了 AndroidPlot 除了 X 轴标签 从 0 到 10 之外 它工作得很好 我想显示 1 到 11 此外 Y 轴上的标签不会出现 我正在使用的代码 import java text DecimalForma
  • 如何更改Android软键盘中任意键的按键背景

    我想让键盘上的一些键与其他键不同 例如下图中的shift 删除 空格键 根据google的参考文档 我们可以通过使用 来改变按键的背景android keybackground drawable xxx in input xml 但它改变了
  • Android 中应用程序在后台运行时如何显示闪屏?

    我的应用程序有一个启动屏幕 无法避免它 因为这是出于品牌原因 我想屏蔽用户界面并在后台显示启动屏幕 就像银行应用程序那样 我应该覆盖 MainActivity 中视图的 onPause 和 onResume 吗 显现
  • 将 Spritekit 游戏转换为 Android?

    是否有任何新选项可以将 spritekit 游戏转换为 Android 游戏 似乎唯一的选择是用 Java 重新编码所有内容或使用 Cocos2D LibGDX 等 很不幸的是 不行 而且带有 Apportable 服务的跨平台 Sprit
  • 片段已添加 IllegalStateException

    我在容器 Activity 上使用此方法来显示 BFrag public void showBFrag Start a new FragmentTransaction FragmentTransaction fragmentTransact
  • 如何从 Android 应用程序调用 REST API? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 android 新手 也是编程新手 如何从 Android 应用程序调用 REST api GET POST 请求 请给我推荐一

随机推荐

  • 根据回归系数在散点图上绘制回归线

    我正在尝试使用以下方法绘制回归线 https observablehq com harrystevens introducing d3 regression linear https observablehq com harrysteven
  • 如何在wpf C#中从数据表导出到excel文件

    我有一个数据表 希望将其导出到 Excel 文件 它是一个 wpf 应用程序 我找到的所有解决方案都是针对 Web 应用程序 asp net 请帮助 只是为了让所有人更容易看到 Microsoft Office Interop Excel
  • 如何删除Android TextView上的第一个字符缩进

    我在 Android 上使用 TextView 在屏幕上显示多行文本 如下所示 aaaaaaaaaaaaaaaaaaaaaa n bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb n cccccccccccccccc
  • Canvas.drawText() 更改不同尺寸图像的文本大小

    我正在绘制文本Bitmap 图像转换为位图 使用Canvas API drawText 方法 我能够在上面绘制文字Bitmap但我正在努力解决以下错误 如果从设备相机中单击图像 则在其上绘制的文本具有正确的大小 但是 如果从图库中随机选择一
  • Aptana 间歇性无法关闭输出流

    希望有人能帮忙解决这个问题 因为它让我发疯 我在 OS X Lion 上使用 Aptana 3 1 但与之前版本的 Aptana 和 Snow Leopard 遇到了同样的问题 我设置了多个 ftp 连接 但在尝试上传文件时遇到间歇性问题
  • C++:函数/方法声明中与号“&”和星号“*”之间的区别?

    它们之间是否存在某种微妙的区别 void a1 float b b 1 a1 b and void a1 float b b 1 a1 b 它们都执行相同的操作 或者从 main 看来是这样 但第一个显然更短 但是我看到的大多数代码都使用第
  • PHP 函数 session_module_name 到底有什么用?

    PHP Session 相关函数有这个 会话模块名称 http www php net manual en function session module name php 文档只说 session module name 获取和 或设置当
  • 如何以编程方式安装 VisualStudio 扩展?

    如何获取已安装的 VisualStudio 扩展的列表 不知何故通过DTE 只要名字就足够公平了 这有帮助吗 System IServiceProvider serviceProvider package as System IServic
  • 链接生成的 Jooq 类时如何解决不明确的匹配

    我已经在 J PA 中定义了我的模型 并正在为我的应用程序编写一些查询 并且我正在使用 JOOQ 生成的类将所有表连接在一起 以检查请求的资源是否确实属于请求用户 但是 当我这样做时 我收到以下警告 Ambiguous match foun
  • python split 多个分隔符错误?

    我正在查看对这个先前提出的问题的答复 使用多个分隔符分割字符串 https stackoverflow com questions 1059559 split strings with multiple delimiters 对于这个问题的
  • 带有圆角半径和阴影的 SWIFT UITableViewCell

    我一直在尝试创建一个带有圆角和阴影的自定义表格视图单元格 我设法创建了圆角 但阴影仅显示在角上 而没有显示在其他地方 对于阴影和圆角 您可以使用以下代码 override func tableView tableView UICollect
  • 如何使用https://angular.io/docs/ts/latest/guide/webpack.html中的vendor.ts

    根据https angular io docs ts latest guide webpack html https angular io docs ts latest guide webpack html您应该能够在vendor ts文件
  • Python MySQL 连接器返回字节数组而不是常规字符串值

    我正在将一张表中的数据加载到 pandas 中 然后将该数据插入到新表中 但是 我看到的不是普通的字符串值 而是字节数组 bytearray b TM16B0I8 它应该是TM16B0I8 我在这里做错了什么 My code engine
  • 构建 10x10 UIButton 网格的最佳方法?

    我将有一个 10x10 网格的 UIButton 对象 每个 UIButton 都需要通过行号和列号来引用 因此它们可能应该存储在某种类型的数组中 我的问题 创建这个网格的最简单方法是什么 以编程方式还是通过 Interface Build
  • Android:时间选择器对话框

    我一直在尝试在对话框中创建时间选择器 但在片段类中收到错误消息 该类型未定义方法 is24HourFormat Activity DateFormat 在以下行中 在行 DateFormat is24HourFormat getActivi
  • 自定义元素选择器

    有没有办法用 CSS 选择所有自定义元素 我想让所有自定义元素默认为块元素 大多数浏览器默认使它们内联 然后根据需要覆盖它 我的规则可能看起来像这样 custom display block 所有自定义元素在标准中都有破折号 因此我可以利用
  • WPF 中的错误提供程序

    我正在查看工具箱中的 WPF 组件 但找不到 2005 2008 中出现的错误提供程序 被移除了吗 the 错误提供者 http msdn microsoft com en us library system windows forms e
  • 当我们切换到夏令时并返回时处理日期

    我想用R进行时间序列分析 我想制作一个时间序列模型并使用 timeDate 和 Forecast 包中的函数 我有 CET 时区的日内数据 15 分钟数据 每小时 4 个数据点 3 月 31 日实施夏令时 我丢失了通常拥有的 96 个数据点
  • 正则表达式:两个匹配之间的负向预测

    我正在尝试构建一个类似这样的正则表达式 match word exclude specific word match word 这似乎适用于消极的前瞻 但当我遇到这样的情况时 我遇到了问题 match word exclude specif
  • Android 如何在PrimaryClipChanged 上从剪贴板获取字符串?

    我正在尝试使用以下侦听器将文本复制到剪贴板中 import android content ClipboardManager OnPrimaryClipChangedListener import com orhanobut logger