Comments (14)
@react-native-community/clipboard has been renamed to @react-native-clipboard/clipboard, what means that @react-native-community/clipboard is outdated (last release 3 years ago) and seems not to be compatible with latest react-native anymore.
from clipboard.
I had the same problem after upgrading RN. I changed path of @react-native-community/clipboard in package.json with react-native-clipboard/clipboard and it worked for me
"@react-native-community/clipboard": "https://github.com/react-native-clipboard/clipboard.git"
from clipboard.
Currently I am using
"@react-native-clipboard/clipboard": "^1.13.2",
as community/clipboard has problem with android.
from clipboard.
"@react-native-clipboard/clipboard": "^1.13.2", you need this package instead of this "@react-native-community/clipboard": this thing work for me
from clipboard.
this package is outdated now
the last RN version that was working with this package was 0.72.3
you can use the new renamed package as mentioned above
but if you want a solution for the problem you have you can do the following
go to node_modules/@react-native-community/clipboard/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java
and replace this file content with this code
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.reactnativecommunity.clipboard;
import android.content.ClipboardManager;
import android.content.ClipData;
import android.content.Context;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Promise;
import com.facebook.react.module.annotations.ReactModule;
/**
* A module that allows JS to get/set clipboard contents.
*/
@ReactModule(name = ClipboardModule.NAME)
public class ClipboardModule extends ReactContextBaseJavaModule {
public ClipboardModule(Context context) {
super(new ReactApplicationContext(context));
}
public static final String NAME = "RNCClipboard";
@Override
public String getName() {
return ClipboardModule.NAME;
}
private ClipboardManager getClipboardService() {
return (ClipboardManager) getReactApplicationContext().getSystemService(getReactApplicationContext().CLIPBOARD_SERVICE);
}
@ReactMethod
public void getString(Promise promise) {
try {
ClipboardManager clipboard = getClipboardService();
ClipData clipData = clipboard.getPrimaryClip();
if (clipData != null && clipData.getItemCount() >= 1) {
ClipData.Item firstItem = clipboard.getPrimaryClip().getItemAt(0);
promise.resolve("" + firstItem.getText());
} else {
promise.resolve("");
}
} catch (Exception e) {
promise.reject(e);
}
}
@ReactMethod
public void setString(String text) {
ClipData clipdata = ClipData.newPlainText(null, text);
ClipboardManager clipboard = getClipboardService();
clipboard.setPrimaryClip(clipdata);
}
@ReactMethod
public void hasString(Promise promise) {
try {
ClipboardManager clipboard = getClipboardService();
ClipData clipData = clipboard.getPrimaryClip();
promise.resolve(clipData != null && clipData.getItemCount() >= 1);
} catch (Exception e) {
promise.reject(e);
}
}
}
from clipboard.
this package is outdated now the last RN version that was working with this package was 0.72.3 you can use the new renamed package as mentioned above
but if you want a solution for the problem you have you can do the following go to
node_modules/@react-native-community/clipboard/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java
and replace this file content with this code
/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ package com.reactnativecommunity.clipboard; import android.content.ClipboardManager; import android.content.ClipData; import android.content.Context; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.Promise; import com.facebook.react.module.annotations.ReactModule; /** * A module that allows JS to get/set clipboard contents. */ @ReactModule(name = ClipboardModule.NAME) public class ClipboardModule extends ReactContextBaseJavaModule { public ClipboardModule(Context context) { super(new ReactApplicationContext(context)); } public static final String NAME = "RNCClipboard"; @Override public String getName() { return ClipboardModule.NAME; } private ClipboardManager getClipboardService() { return (ClipboardManager) getReactApplicationContext().getSystemService(getReactApplicationContext().CLIPBOARD_SERVICE); } @ReactMethod public void getString(Promise promise) { try { ClipboardManager clipboard = getClipboardService(); ClipData clipData = clipboard.getPrimaryClip(); if (clipData != null && clipData.getItemCount() >= 1) { ClipData.Item firstItem = clipboard.getPrimaryClip().getItemAt(0); promise.resolve("" + firstItem.getText()); } else { promise.resolve(""); } } catch (Exception e) { promise.reject(e); } } @ReactMethod public void setString(String text) { ClipData clipdata = ClipData.newPlainText(null, text); ClipboardManager clipboard = getClipboardService(); clipboard.setPrimaryClip(clipdata); } @ReactMethod public void hasString(Promise promise) { try { ClipboardManager clipboard = getClipboardService(); ClipData clipData = clipboard.getPrimaryClip(); promise.resolve(clipData != null && clipData.getItemCount() >= 1); } catch (Exception e) { promise.reject(e); } } }
This worked for me!
from clipboard.
Any Fix for this??
from clipboard.
I had the same problem; The environment is the same as our friends above.
from clipboard.
I've been struggling with the same problem since this morning. It took me 2 hours and I still couldn't find a solution.
from clipboard.
I had the same problem; The environment is the same as our friends above.
My problem is solved.
According to the reply from the friend below and the error message I reported, I replaced the Android SDK. The error message finally mentioned that the corresponding version of Android build tools could not be found. Here, I could not find Android build tools 34 and 33. So, I went and reinstalled both versions of the tool and was able to use @react-native clipboard/clipboard as normal.
My react and React-native versions are as follows:
react: "18.2.0",
react-native: "0.73.2"
from clipboard.
My friends, i did some tests.
Maybe the problem is related to the jdk and sdk versions that is used.
as mentioned here: Setting up the development environment
you should have this:
- Node >= 18
- JDK 17
- SDK 33 (at least)
Using this in my environment solved the problem for the last version (1.13.2)
from clipboard.
@FouadMagdy01
Even if we made changes to node_modules we can't push that change to a git repo. So if other team members try to pull my latest changes they again can have the same issue. So how can we handle this?
from clipboard.
@FouadMagdy01 Even if we made changes to node_modules we can't push that change to a git repo. So if other team members try to pull my latest changes they again can have the same issue. So how can we handle this?
Use the patch-package package to share the changes with your team.
from clipboard.
@FouadMagdy01 Even if we made changes to node_modules we can't push that change to a git repo. So if other team members try to pull my latest changes they again can have the same issue. So how can we handle this?
I know that and in most cases it is not the best solution to fix bugs in node modules
But there are some workarounds as @kimjisena mentioned below
from clipboard.
Related Issues (20)
- Unable to empty clipboard :) HOT 1
- Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl. Namespace not specified. HOT 7
- [Android-New Arch] Cannot specify link libraries for target "react_codegen_RNCClipboard" which is not built by this project HOT 15
- Can we deprecate the NPM package for @react-native-community/clipboard
- no idea why need to link
- How get to work with Expo HOT 1
- App Hanging: App hanging for at least 2000 ms. Happens for iOS devices only. HOT 3
- Clear the clipboard
- Android: After upgrading to React Native version 0.73, build failed HOT 7
- Monorepo REACT_NATIVE_NODE_MODULES_DIR error HOT 2
- Getting "copied" send to device in android 13 HOT 1
- SetString("") not clear Gboard's clipboard
- Expose access to EXTRA_IS_SENSITIVE for setString on Android
- Error to Deploy to Android RN 0.73.2 HOT 6
- ios listener not being called
- public class ClipboardModule extends NativeClipboardModuleSpec HOT 2
- Allowing RN 0.74 as a peer dependency HOT 10
- pod install fails undefined method `visionos' HOT 6
- Can we use this clipboard to listen to iOS AutoFill text?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clipboard.