In my case, finishAffinity() was preventing onRequestPermissionsResult. It worked fine when I moved it inside the onRequestPermissionsResult.
finishAffinity()
onRequestPermissionsResult