首页 > 解决方案 > Android使用clipboardManager获取clipData但它总是返回null

问题描述

这是我的代码:

ClipboardManager clipboardManager = (ClipboardManager)accessibilityService.getSystemService(Context.CLIPBOARD_SERVICE);
        if(clipboardManager != null){
            ClipData clipData = clipboardManager.getPrimaryClip();
            if(clipData != null){
                return text.toString();
            }
        }

clipData 始终为空。哪里不对了?我的 android 设备是带有 Android 10 和 Android Studio 4.1 的华为

标签: androidaccessibilityservice

解决方案


用于 clipboard.getPrimaryClip().getItemAt(0).getText()将文本复制到剪贴板并用于ClipData.newPlainText("label", "Text to copy")将文本复制到剪贴板。这将返回 null,因为可能是文本未成功复制到剪贴板。

ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(CLIPBOARD_SERVICE);
    ClipData clip = ClipData.newPlainText("label", "Text to Copy");
    clipboard.setPrimaryClip(clip);
    if (clipboard.getPrimaryClip() != null && clipboard.getPrimaryClip().getItemAt(0).getText() != null) {
      // When copy to clipboard Text is not null
    } else {
      // When copy to clipboard Text is null
    }

推荐阅读