javaandroidjava-moduleactivity-finish

error: cannot find symbol finish(); in my own module


I want to access finish() method from my own module. But shows this error: error: cannot find symbol finish();

How can i access finish() method from my own module?

Here is my code:


//ExitModule.java
package com.security_notifier;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;


public class ExitModule extends ReactContextBaseJavaModule {

    public ExitModule(ReactApplicationContext reactContext) {
        super(reactContext); //required by React Native
    }

    @Override
    //getName is required to define the name of the module represented in JavaScript
    public String getName() {
        return "Exit";
    }

    @ReactMethod
    public void finishApp() {
        finish();
    }
}

I am new to react native. And I need your help badly.


Solution

  • I have fixed the problem with:

    //ExitModule.java
    package com.security_notifier;
    
    import com.facebook.react.bridge.ReactApplicationContext;
    import com.facebook.react.bridge.ReactContextBaseJavaModule;
    import com.facebook.react.bridge.ReactMethod;
    import com.facebook.react.bridge.ReactContext;
    import android.app.Activity;
    
    public class ExitModule extends ReactContextBaseJavaModule {
    
        private ReactContext mReactContext;
        public ExitModule(ReactApplicationContext reactContext) {
            super(reactContext); //required by React Native
            mReactContext = reactContext;
        }
    
    
        @Override
        //getName is required to define the name of the module represented in JavaScript
        public String getName() {
            return "Exit";
        }
    
        @ReactMethod
        public void finishApp() {
            Activity activity = mReactContext.getCurrentActivity();
            activity.finish();
        }
    }