diff --git a/android/capacitor/src/main/java/com/getcapacitor/plugin/Clipboard.java b/android/capacitor/src/main/java/com/getcapacitor/plugin/Clipboard.java index 6fb6db253..0b04491a5 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/plugin/Clipboard.java +++ b/android/capacitor/src/main/java/com/getcapacitor/plugin/Clipboard.java @@ -48,16 +48,20 @@ public void read(PluginCall call) { ClipboardManager clipboard = (ClipboardManager) c.getSystemService(Context.CLIPBOARD_SERVICE); - CharSequence value = ""; - if(clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { - Log.d(getLogTag(), "Got plaintxt"); - ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0); - value = item.getText(); - } else { - Log.d(getLogTag(), "Not plaintext!"); - ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0); - value = item.coerceToText(this.getContext()).toString(); + CharSequence value = null; + + if (clipboard.hasPrimaryClip()) { + if(clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { + Log.d(getLogTag(), "Got plaintxt"); + ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0); + value = item.getText(); + } else { + Log.d(getLogTag(), "Not plaintext!"); + ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0); + value = item.coerceToText(this.getContext()).toString(); + } } + JSObject ret = new JSObject(); String type = "text/plain"; ret.put("value", value != null ? value : ""); @@ -65,6 +69,7 @@ public void read(PluginCall call) { type = value.toString().split(";")[0].split(":")[1]; } ret.put("type", type); + call.success(ret); } }