无法将java代码集成到我的react本机项目-错误:不兼容的类型:ReactApplicationContext无法转换为活动

无法将java代码集成到我的react本机项目-错误:不兼容的类型:ReactApplicationContext无法转换为活动,java,android,reactjs,react-native,java-bridge-method,Java,Android,Reactjs,React Native,Java Bridge Method,我正在尝试将java代码与我的react本机项目连接起来 我的流程是这样的——当用户在react native中单击我的支付按钮时,它将路由到一个用java编写的页面(这是一个支付网关),然后当用户完成支付过程时,它将路由回react native中的初始页面。 我得到的错误如下: HelloWorldModule.java:56: error: incompatible types: ReactApplicationContext cannot be converted to Acti

我正在尝试将java代码与我的react本机项目连接起来

我的流程是这样的——当用户在react native中单击我的支付按钮时,它将路由到一个用java编写的页面(这是一个支付网关),然后当用户完成支付过程时,它将路由回react native中的初始页面。 我得到的错误如下:

HelloWorldModule.java:56: error: incompatible types: ReactApplicationContext cannot be converted
    to Activity
                                    new RavePayManager((Activity)reactContext).setAmount(Double.parseDouble(String.valueOf(amount)))
请看下面我的代码: //响应本机代码以连接到java

// We are importing the native Java module here
import {NativeModules} from 'react-native';
var HelloWorld = NativeModules.HelloWorld;

// type Props = {};
export default class App extends Component {

  // async function to call the Java native method
  async sayHiFromJava() {
    HelloWorld.sayHi( (err) => {console.log(err)}, (msg) => {console.log(msg)} );
  }

  render() {
    return (
      <View style={styles.container}>
        <TouchableOpacity onPress={ this.sayHiFromJava }>
              <Text>Invoke native Java code</Text>
         </TouchableOpacity>
      </View>
    );
  }
}
//HelloWorldPackage.java

package com.packagename;

import com.facebook.react.ReactPackage;
import android.content.Context;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.visioncapitaleye.HelloWorldModule;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class HelloWorldPackage implements ReactPackage {
Context context;

    HelloWorldPackage(Context context) {
        this.context = context;
    }

    @Override
    public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
        return Collections.emptyList();
    }

    @Override
    public List<NativeModule> createNativeModules(
            ReactApplicationContext reactContext) {
        List<NativeModule> modules = new ArrayList<>();
        //this is where you register the module
        modules.add(new HelloWorldModule(reactContext,context)); // added HelloWorldModule
        return modules;
    }
}
package com.packagename;
导入com.facebook.react.ReactPackage;
导入android.content.Context;
导入com.facebook.react.bridge.NativeModule;
导入com.facebook.react.bridge.ReactApplicationContext;
导入com.facebook.react.uimanager.ViewManager;
导入com.visioncapitaleye.HelloWorldModule;
导入java.util.ArrayList;
导入java.util.Collections;
导入java.util.List;
公共类HelloWorldPackage实现了ReactPackage{
语境;
HelloWorldPackage(上下文){
this.context=上下文;
}
@凌驾
公共列表CreateViewManager(ReactApplicationContext reactContext){
返回集合。emptyList();
}
@凌驾
公共列表createNativeModules(
ReactApplicationContext(反应上下文){
列表模块=新的ArrayList();
//这是您注册模块的地方
modules.add(新的HelloWorldModule(reactContext,context));//添加了HelloWorldModule
返回模块;
}
}
我是java新手,似乎不知道自己做错了什么。
请协助。

我在尝试将sdk集成到现有react本机项目时遇到类似问题。尝试以下方法,看看它是否适合您。不要将reactContext强制转换为活动,只需获取当前活动并使用它即可

final Activity activity = getCurrentActivity();

我在尝试将sdk集成到现有react本机项目时遇到了类似的问题。尝试以下方法,看看它是否适合您。不要将reactContext强制转换为活动,只需获取当前活动并使用它即可

final Activity activity = getCurrentActivity();

从新RavePayManager(reactContext)中删除(活动)。setAmount(…)这不起作用。错误消息-HelloWorldModule.java:56:错误:未找到RavePayManager(ReactApplicationContext)RavePayManager(reactContext)。setAmount(Double.parseDouble(String.valueOf(amount))的合适构造函数构造函数RavePayManager.RavePayManager(活动)不适用(参数不匹配;ReactApplicationContext无法转换为活动)从新RavePayManager(reactContext)中删除(活动)。setAmount(…)这不起作用。错误消息-HelloWorldModule.java:56:错误:找不到适合RavePayManager的构造函数(ReactApplicationContext)RavePayManager(reactContext).setAmount(Double.parseDouble(String.valueOf(amount)))构造函数RavePayManager.RavePayManager(活动)不适用(参数不匹配;ReactApplicationContext无法转换为活动)
final Activity activity = getCurrentActivity();