MainApplicationでアクティビティを取得して注入するにはどうすればよいですか?私は議論として活動を渡す必要がある外部ライブラリを持っています。このanswerは、現在のアクティビティを必要とする部分でgetCurrentActivity()メソッドを使用することを提案していますが、ReactContextBaseJavaModuleクラスから削除されています。これを行うための他の方法はありますか?下のコードで 'this'キーワードが使用されたアクティビティをどのように渡すのですか?おかげで..ApplicationまたはReactContextBaseJavaModuleを継承するクラス内でアクティビティを取得する方法は?
package com.bluetoothioexample;
import android.app.Application;
import android.util.Log;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import java.util.Arrays;
import java.util.List;
import com.subsite.bluetoothio.BluetoothIOPackage;
import com.oblador.vectoricons.VectorIconsPackage;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new BluetoothIOPackage(this), //<- How pass the activity
// from ReactApplication ?
new VectorIconsPackage()
);
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
}
これが必要な場合は、コードを誤って設計してしまいます。アクティビティの範囲以下のものは、Applicationクラスに知られていなければなりません。 Applicationクラスは、アプリケーションのスコープに存在するものについてのみ知っている必要があります。 –
私はそのように使用されるように構造化された外部ライブラリを使用しています... –
いいえあなたはありません。 ReactApplicationクラスを実際のApplicationクラスにする必要はありません。 –