Внутри PhoneStateListener после того, как вы увидели, что вызов закончен, лучше использовать:
Intent intent = new Intent(CallDispatcherActivity.this, CallDispatcherActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
, где CallDispatcherActivity - это активность, в которой пользователь запустил вызов (диспетчеру обслуживания такси, в моем случае). Это просто удаляет приложение телефонии Android сверху, пользователь возвращается вместо уродливого кода, который я видел здесь.