Programing

ReactContextBaseJavaModule에서 getCurrentActivity가 null 반환

c10106 2022. 3. 24. 21:17
반응형

ReactContextBaseJavaModule에서 getCurrentActivity가 null 반환

Ract Native 0.46으로 기본 Android 모듈을 코드화하고 있는데 모듈에서 현재 활동 인스턴스를 가져오는 데 문제가 있음.

ReactContextBaseJavaModule을 확장하는 클래스가 있는데, 여기에는 내장된 getCurrentActivity() 메서드가 포함되어 있다.하지만 이 방법을 부를 때마다 나는 무효가 된다.

내 생각엔 내가 이것을 Android 응용 프로그램의 시작 부분에서 실행되는 모듈 생성자에서, 어쩌면 액티비티가 인스턴스화되기 전에, 이 모듈 생성자에서 호출하기 때문일 것이다.

모듈 내에서 현재 활동 인스턴스에 액세스할 수 있는 깨끗한 방법을 알고 있다면(가능한 경우 활동 인스턴스를 저장하고 전달할 필요 없음) 기쁠 것이다!

반응형 GitHub 페이지에 있는 이러한 게시물에 따르면, 당신은 네이티브 모듈의 생성자에서 현재 활동에 접근할 수 없는 것이 설계상이다.모듈은 활동 전체에 걸쳐 사용될 수 있으며, 관련 활동이 재개되기 전에 생성될 수 있다.

사용할 수 있을 것으로 예상getCurrentActivity예를 들어, 작업 중에 필요한 경우@ReactMethod모듈 안에서

와 같은Myk Willis답변, getCurrentActivity는 다음과 같이 @ReactMethod 내부에서 액세스할 수 있다.

public class ExampleModule extends ReactContextBaseJavaModule {
    Activity activity;
    @ReactMethod(isBlockingSynchronousMethod = true)
    public void MinimizeExample(String params) {
        activity = getCurrentActivity();        // get current activity
    }
}

참조URL: https://stackoverflow.com/questions/45435450/getcurrentactivity-in-reactcontextbasejavamodule-returns-null

반응형