1

我正在尝试为我的应用设置android 应用链接。问题是意图被活动接收,我需要通过RCTDeviceEventEmitter将此事件发送到我的 javascript 代码(导航到正确的屏幕),但要发生这种情况,我需要在我的活动代码中以某种方式获取反应上下文。 .我不知道该怎么做..这是我尝试过的:

public class NewFriendActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(null);
    class ReactContextFetcher extends ReactContextBaseJavaModule {
        @Override
        public String getName() {
            return "ReactContextFetcher";
        }

        public ReactContext fetchReactContext() {
            return getReactApplicationContext();
        }

    }
    Intent intent = getIntent();
    String data = intent.getData().toString();
    String user = data.split("/add-friend/")[1];
    Log.d("obscure_tag", user);
    ReactContext rContext = new ReactContextFetcher().fetchReactContext();
    Log.d("obscure_tag", "this is run as well..");
    sendEvent(rContext, "NewFriend", user);
}

private void sendEvent(ReactContext reactContext,
                       String eventName, String user) {
    reactContext
            .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
            .emit(eventName, user);
}
}

“用户”被记录但“这也被运行了..”没有,应用程序在此之前崩溃..所以我知道 fetchReactContext() 不是获取反应上下文的正确方法..我提到了这个但实际上我不明白那家伙想说什么..在这种情况下我应该如何获得反应上下文?

4

0 回答 0