- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 MainApplication 中获取和注入(inject) Activity ?我有一个外部库,需要我将 Activity 作为参数传递。这answer建议我在需要当前 Activity 的部分使用 getCurrentActivity() 方法,但它已从 ReactContextBaseJavaModule 类中删除。还有其他方法吗?如何传递在以下代码中使用“this”关键字的 Activity ?谢谢..
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;
}
}
最佳答案
我不喜欢 React-Native 但有一个简单的技巧
public class MainApplication extends Application implements Application.ActivityLifecycleCallbacks{
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(this);
}
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(mCurrentActivity), //
// from ReactApplication ?
new VectorIconsPackage()
);
}
};
private Activity mCurrentActivity;
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
mCurrentActivity = activity;
}
您需要实现Application.ActivityLifecycleCallbacks
并注册生命周期回调registerActivityLifecycleCallbacks(this);
并等待创建 Activity 以获取当前引用。
关于android - 如何在扩展 Application 或 ReactContextBaseJavaModule 的类中获取 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41926265/
我正在构建一个 React Native 应用程序,在 Android 代码的 React Native 模块中我希望访问 Android 代码使用的缓存文件的路径。 在某些时候,我正在(从 nati
我正在使用 React Native 0.46 编写 native Android 模块,但我无法从模块中获取当前事件实例。 我有一个扩展 ReactContextBaseJavaModule 的类,
我正在构建一个 React native 模块,我从我的模块发送一个 PendingIntent,就像这样。 Intent postAuthorizationIntent = new Intent("
如何在 MainApplication 中获取和注入(inject) Activity ?我有一个外部库,需要我将 Activity 作为参数传递。这answer建议我在需要当前 Activity 的
我正在构建一个 React Native 模块,我从我的模块发送一个像这样的 PendingIntent。 Intent postAuthorizationIntent = new Intent("c
我是一名优秀的程序员,十分优秀!