我正在尝试制作一个应用程序,只需按下通知上的按钮即可获取用户的剪贴板。我在通知广播接收器中的代码如下:
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();
}
}
该按钮工作正常,除非当它到达检查主剪辑中是否有项目的行时,它会给我一个空指针异常。我在文档中读到,这是因为您只能从主线程获取用户的剪贴板数据。是否有任何可能的方法可以在后台获取用户的剪贴板数据,而不需要他们进入应用程序?
暂无答案!
目前还没有任何答案,快来回答吧!