【发布时间】:2015-07-24 12:07:13
【问题描述】:
请帮我解决这个问题。 这是我的代码
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
clipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
clipboard.addPrimaryClipChangedListener(this);
return START_STICKY;
}
@Override
public void onPrimaryClipChanged() {
Log.d("log",clipboard.getPrimaryClip()+"");
ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
String clipText = item.getText().toString();
Log.d("log",clipText);
new SendClipBoardData().execute(postClipDataUrl,clipText);
}
有时我在ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0); 遇到错误
错误:java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
clipboard.getPrimaryClip() 返回ClipData { text/plain {NULL} },
但是当我将相同的复制文本粘贴到我的笔记中时,我可以看到文本,我无法检测到问题,有时它工作有时不。
还有一个问题,当复制工作正常时,我会复制两到三次文本结果,但我的事件只能工作一次,它可以是什么? 提前致谢。
【问题讨论】:
-
@Saket Mittal 感谢您的编辑
-
你找到解决方案了吗,我遇到了同样的问题
标签: java android clipboardmanager