getprimaryclip()正在返回null对象引用

63lcw9qa  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(281)

我正在尝试制作一个应用程序,只需按下通知上的按钮即可获取用户的剪贴板。我在通知广播接收器中的代码如下:

if (intent.getAction().equals(SEND_CLIPBOARD_ACTION)) {
            ClipboardManager clipboardManager =
                    (ClipboardManager) context.getSystemService(CLIPBOARD_SERVICE);
            ClipData primaryClip = clipboardManager.getPrimaryClip();
            if (primaryClip.getItemCount() > 0) {
                CharSequence text = primaryClip.getItemAt(0).coerceToText(context);
                if (text != null) {
                    String clipboard = clipboardManager.getPrimaryClip().toString();
                    Utils utils = Utils.getInstance(context);
                    utils.getPairedPC(intent.getStringExtra(PC_ADDRESS_KEY))
                            .setClipboardCache(clipboard);
                    Toast.makeText(context, "Clipboard Sent!", Toast.LENGTH_SHORT).show();
                }
            } else {
                Toast.makeText(context, "Clipboard Empty!", Toast.LENGTH_SHORT).show();
            }
        }

该按钮工作正常,除非当它到达检查主剪辑中是否有项目的行时,它会给我一个空指针异常。我在文档中读到,这是因为您只能从主线程获取用户的剪贴板数据。是否有任何可能的方法可以在后台获取用户的剪贴板数据,而不需要他们进入应用程序?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题