diff --git a/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java b/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java index 048ebe5c..f6aa617b 100644 --- a/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java +++ b/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java @@ -90,6 +90,21 @@ public void setString(String text) { } } + @ReactMethod + public void clearClip(Promise promise) { + try { + ClipboardManager clipboard = getClipboardService(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + clipboard.clearPrimaryClip(); + promise.resolve(true); + } + promise.resolve(false); + } catch (Exception e) { + promise.reject(e); + e.printStackTrace(); + } + } + @ReactMethod public void hasString(Promise promise) { try { diff --git a/example/App.tsx b/example/App.tsx index d99c5296..90992ebe 100644 --- a/example/App.tsx +++ b/example/App.tsx @@ -56,6 +56,14 @@ export const App: React.FC = () => { Alert.alert(`Copied to clipboard: ${text}`); }; + const clearClipboardText = async () => { + if (await Clipboard.clearClip()) { + Alert.alert(`Clipboard Cleared Success`); + return; + } + Alert.alert(`Clipboard Cleared Failed`); + }; + const writeImageToClipboard = async () => { Clipboard.setImage(TEST_IMAGE); Alert.alert(`Copied Image to clipboard`); @@ -91,6 +99,7 @@ export const App: React.FC = () => { placeholder="Type here..." />