如何将Java活动中的数据传递给react native?
我无法将java活动中的数据传递给react native。 我正在处理一个卡支付,当支付完成时,响应存储在一个名为message的变量中。我需要将此消息传递给我的react本机代码 //Java模块,我要传递的数据在“消息”中 公共类HelloWorldModule扩展ReactContextBaseJavaModule实现ActivityEventListener{ 活动 ReactApplicationContext reactContext; 公共HelloWorldModule(ReactApplicationContext reactContext,Activity活动){ super(reactContext);//React Native所需 this.reactContext=reactContext; 这个。活动=活动; reactContext.addActivityEventListener(this);//将此本机模块注册为活动结果侦听器如何将Java活动中的数据传递给react native?,java,android,reactjs,react-native,react-native-bridge,Java,Android,Reactjs,React Native,React Native Bridge,我无法将java活动中的数据传递给react native。 我正在处理一个卡支付,当支付完成时,响应存储在一个名为message的变量中。我需要将此消息传递给我的react本机代码 //Java模块,我要传递的数据在“消息”中 公共类HelloWorldModule扩展ReactContextBaseJavaModule实现ActivityEventListener{ 活动 ReactApplicationContext reactContext; 公共HelloWorldModule(Rea
}
@Override
public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
// ReactApplicationContext reactContext = this.getReactNativeHost().getReactInstanceManager().getCurrentReactApplicationContext();
// reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit();
// reactContext
// .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
// .emit('message', message);
/*
* We advise you to do a further verification of transaction's details on your server to be
* sure everything checks out before providing service or goods.
*/
if (requestCode == RaveConstants.RAVE_REQUEST_CODE && data != null) {
String message = data.getStringExtra("response");
// Log.e("RAVE",message);
if (resultCode == RavePayActivity.RESULT_SUCCESS) {
Toast.makeText(activity, "SUCCESS " + message, Toast.LENGTH_SHORT).show();
}
else if (resultCode == RavePayActivity.RESULT_ERROR) {
Toast.makeText(activity, "ERROR " + message, Toast.LENGTH_SHORT).show();
}
else if (resultCode == RavePayActivity.RESULT_CANCELLED) {
Toast.makeText(activity, "CANCELLED " + message, Toast.LENGTH_SHORT).show();
}
}
// else {
// super.onActivityResult(activity, requestCode, resultCode, data);
// }
}
//@覆盖
//ActivityResult上的公共void(活动活动、int请求代码、int结果代码、意图数据){
//Toast.makeText(活动“hello”,Toast.LENGTH_SHORT).show();
//}
公共帐篷(意向){
}
}
//反应本机代码
// async function to call the Java native method
async sayHiFromJava() {
HelloWorld.sayHi( (err) => {console.log(err)}, (msg) => {console.log(msg)} );
}
请提供帮助。使用设备发射器将数据从本机发送到本机 在“活动结果”中添加以下代码
ReactContext context = this.getReactNativeHost().getReactInstanceManager().getCurrentReactContext();
context.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit();
context
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit('message', message);
在react native add dive emitter listener中
import {DeviceEventEmitter} from 'react-native';
EmitterModule.addListener('message', (message) => {
console.log(message);
};
使用设备发射器将数据从本机发送到本机 在“活动结果”中添加以下代码
ReactContext context = this.getReactNativeHost().getReactInstanceManager().getCurrentReactContext();
context.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit();
context
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit('message', message);
在react native add dive emitter listener中
import {DeviceEventEmitter} from 'react-native';
EmitterModule.addListener('message', (message) => {
console.log(message);
};
请澄清当我生成时,我应该把代码放在哪一行——错误:unclosed character literal.emit('message',message);我是否需要包括-writeablemap params=Arguments.createMap();putString(“eventProperty”、“someValue”);如果您在上面使用emit()时遇到错误,我已经编辑了我的代码code@OverrideactivityResult(活动活动活动、int请求代码、int结果代码、意图数据){ReactApplicationContext reactContext=this.getReactNativeHost().getReactInstanceManager().getCurrentReactApplicationContext();reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit();reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit('message',message);请即时消息错误此错误--错误:未关闭的字符文本.emit('message',message);请澄清当我生成-error:unclosed character literal.emit('message',message)时,我应该将代码放在哪一行;我是否需要包含-writeablemap params=Arguments.createMap();params.putString(“eventProperty”,“someValue”);如果你得到emit()的错误,我已经编辑了我的代码以上使用code@OverrideActivityResult(Activity Activity,int requestCode,int resultCode,Intent data){ReactApplicationContext reactContext=this.getReactNativeHost().getReactInstanceManager().getCurrentReactApplicationContext();reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit();