So I have 2 screens, the SplashScreen.js and the Auth.js. In the SplashScreen.js is were all the Permissions Android run and if it is granted it will navigate it to the AuthScreen.js. 

But in my case, after it granted the app crashes. I just don't know why.

So what I want to happen is, after the Permission Android granted it will navigate it to the AuthScreen.js.

Here are my codes: 

SplashScreen.js: This is inside the `class SplashScreen extendes Component {}`

```
constructor(props) {
super(props);

this.state = {
  timePassed: false
};
}

componentDidMount() {
this.permissionAndroid();
};

setTimePassed() {
this.setState({timePassed: true})
};

permissionAndroid = () => {
try {
  const granted = PermissionsAndroid.requestMultiple(
    [PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE],
    {
      title: "Location Permission",
      message: "You have to, because it's a party app! " + "So you can enjoy more viewing events.",
      buttonNeutral: "Ask me later",
      buttonNegative: "Cancel",
      buttonPositive: "OK"
    },
  );
  if (granted == PermissionsAndroid.RESULTS.GRANTED) {
    console.log("All permision enabledenabled")
    // this.setTimePassed();
    this.setState({timePassed: true})
  } else {
    console.log('Location Permission Denied');
  }
} catch (err) {
  console.warn(err);
}
}

render() {
if(!this.state.timePassed) {
  return (
    <View style={styles.container}>
      <Text>Hello</Text>
    </View>
  );
} else {
  return <AuthScreen/>
}
};

```

I also have the code of Permission Android outside the Class with `async function`, I didn't use this right now because `this.setState({})` or function `setTimePassed()` will not work I think because it is outside the Class. 

This is another option to make app works, but I'm just not sure how the `setState({})` or the `setTimePassed()` will work when it pass outside the Class.

This code is in the SplashScreen.js also: (it is also same with the function `permissionAndroid` it just have a async function)

```
async function requestLocationPermission() {
try {
const granted = await PermissionsAndroid.requestMultiple(
  [PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE],
  {
    title: "Location Permission",
    message: "You have to, because it's a party app! " + "So you can enjoy more viewing events.",
    buttonNeutral: "Ask me later",
    buttonNegative: "Cancel",
    buttonPositive: "OK"
  },
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
  console.log("All permision enabledenabled")
  // setTimePassed();
  this.setState({
    timePassed: true
  });
} else {
  console.log('Location Permission Denied');
}
} catch (err) {
  console.warn(err);
}
}

```