I am writing an app that is meant to be run during a call. After the user makes a call, and starts my app, I want my app to be able to know if the call is dropped from bad
Doesn't CALL_STATE_OFFHOOK -> CALL_STATE_IDLE also indicate a normally terminated call?
Regardless, you can simply check the call state using the onCallStateChanged callback method of the PhoneStateListener class. This will be called whenever the state changes and you can switch the provided status to find which state it is in.