我正在尝试为我的应用设置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() 不是获取反应上下文的正确方法..我提到了这个但实际上我不明白那家伙想说什么..在这种情况下我应该如何获得反应上下文?