Android获取剪切板内容

您所在的位置:网站首页 剪贴板apk Android获取剪切板内容

Android获取剪切板内容

2024-01-25 17:25| 来源: 网络整理| 查看: 265

项目里有一个功能要求获取剪切板上的内容,原代码如下:

@Nullable public static String getClipboardContentTest(Context context) { ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); if (cm != null) { ClipData data = cm.getPrimaryClip(); if (data != null) { ClipData.Item item = data.getItemAt(0); if (item != null) { //TODO item.getText()部分手机可能会在剪切板没有相关的文本内容返回null return item.getText().toString(); } } } return null; }

监测到item.getText().toString()这一行产生了相关的错误信息:

java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference

 查了一些相关的资料修复了上面的错误,修复后的获取剪切板内容代码如下:

/** * 获取剪切板上的内容 */ @Nullable public static String getClipboardContent(Context context) { ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); if (cm != null) { ClipData data = cm.getPrimaryClip(); if (data != null && data.getItemCount() > 0) { ClipData.Item item = data.getItemAt(0); if (item != null) { CharSequence sequence = item.coerceToText(context); if (sequence != null) { return sequence.toString(); } } } } return null; }

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3