ich eine veraltete Modul ändern benötigt (react-android-360-video) und fanden diese Informationen hilfreich ...
In android/app/src/main/java/com/webcdpmobiledemo/MainApplication.java
, nutzte ich die neue Format für das Hinzufügen ein Paket:
...
import com.vrvideocomponent.VrVideoViewPackage;
public class MainApplication extends Application implements ReactApplication {
...
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
...
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new VrVideoViewPackage()
);
}
...
};
...
}
Und android/app/src/main/java/com/webcdpmobiledemo/MainActivity.java
ist im wesentlichen leer:
package com.yourproject;
import com.facebook.react.ReactActivity;
public class MainActivity extends ReactActivity {
/**
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "YourProject";
}
}
Dann habe ich die VrVideoViewPackage Datei geändert, die die reactContext
zum VrVideoViewManager
passieren muss es nennt:
...
public class VrVideoViewPackage implements ReactPackage {
...
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Arrays.<ViewManager>asList(
new VrVideoViewManager(reactContext)
);
}
}
Und schließlich in der VrVideoViewManager
die Aktivität kann wie so zugegriffen werden:
...
import android.app.Activity;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.bridge.ReactContext;
...
public class VrVideoViewManager extends SimpleViewManager<VrVideoView> {
...
public VrVideoViewManager(ReactContext reactContext) {
// Do not store mActivity, always getCurrentActivity when needed
Activity mActivity = mContext.getCurrentActivity();
}
@Override
protected VrVideoView createViewInstance(ThemedReactContext reactContext) {
// You can also activity from ThemedReactContext
Activity mActivity = reactContext.getCurrentActivity();
VrVideoView vrView = new VrVideoView(mActivity);
vrView.setEventListener(new ActivityEventListener(vrView));
vrView.pauseVideo();
return new VrVideoView(mActivity);
}
...
}
Beispiele für die Kommunikation zwischen Android und nativen Komponenten. [Repo Link] (http://github.com/amalChandran/ReactNative_Android_integration) – amalBit