Attendez l'autorisation de l'utilisateur

J'ai créer une application qui échantillonnage du GPS sur le départ.
Comme vous le savez probablement, les autorisations sont demandées lors de l'exécution à partir d'Android M et au-dessus.

Donc, dans mon cas, je commence par vérifier si des autorisations sont nécessaires, comme ceci:

private void permissionForAndroidM()
{
    if (Build.VERSION.SDK_INT > 22) {
        String[] allPermissionNeeded = {
                Manifest.permission.WRITE_EXTERNAL_STORAGE,
                Manifest.permission.ACCESS_FINE_LOCATION,
                Manifest.permission.ACCESS_COARSE_LOCATION,
                Manifest.permission.CAMERA,
                Manifest.permission.RECORD_AUDIO};

        List<String> permissionNeeded = new ArrayList<>();
        for (String permission : allPermissionNeeded)
            if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED)
                permissionNeeded.add(permission);
        if (permissionNeeded.size() > 0) {
            requestPermissions(permissionNeeded.toArray(new String[0]), 0);
        }
    }
}

mais Android de continuer l'exécution du code et de poser pour les données GPS ( = crash, car l'utilisateur n'a pas accepté la demande d'autorisation).

- Je trouver de nombreuses solutions à l'idée d'attendre une entrée de l'utilisateur (comme l'utilisation de DialogInterface.OnClickListenerlienmais il ne peut pas mises en œuvre dans ce cas, parce que je ne suis pas de la création de la boîte de dialogue).

Ligne de fond, la question: Comment puis-je attendre de réponse de l'utilisateur à partir de l'Android l'autorisation de dialogue ?

source d'informationauteur AsfK