title: react expo [Unhandled promise rejection: Error: Tried to use permissions API but the host Activity doesn't implement PermissionAwareActivity.]
body: <p>I followed the tutorial for react native camera. I did all the changes also implemented the PermissionAwareActivity for MainActivity, but still give me [Unhandled promise rejection: Error: Tried to use permissions API but the host Activity doesn't implement PermissionAwareActivity.]</p>
  
  <p><strong>MainActivity.java</strong></p>
  
  <pre><code>import com.facebook.react.ReactActivity;
  import com.facebook.react.ReactActivityDelegate;
  import com.facebook.react.ReactRootView;
  import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
  
  import android.os.Bundle;
  import android.annotation.TargetApi;
  import android.os.Build;
  import android.support.annotation.NonNull;
  
  import com.facebook.react.modules.core.PermissionAwareActivity;
  import com.facebook.react.modules.core.PermissionListener;
  
  import javax.annotation.Nullable;
  
  public class MainActivity extends ReactActivity implements PermissionAwareActivity {
  
      @Nullable
      private PermissionListener permissionListener;
  
      /**
       * Returns the name of the main component registered from JavaScript.
       * This is used to schedule rendering of the component.
       */
      @Override
      protected String getMainComponentName() {
          return "AppCamera";
      }
  
      @Override
      protected ReactActivityDelegate createReactActivityDelegate() {
          return new ReactActivityDelegate(this, getMainComponentName()) {
              @Override
              protected ReactRootView createRootView() {
                  return new RNGestureHandlerEnabledRootView(MainActivity.this);
              }
          };
      }
  
      @TargetApi(Build.VERSION_CODES.M)
      public void requestPermissions(String[] permissions, int requestCode, PermissionListener listener) {
          permissionListener = listener;
          requestPermissions(permissions, requestCode);
      }
  
      @Override
      public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
          if (permissionListener != null) {
              permissionListener.onRequestPermissionsResult(requestCode, permissions, grantResults);
          }
      }
  }
  </code></pre>