2016-04-09 24 views
-2

Aus irgendeinem Grund zeigt meine Berechtigungsprüfung Dialog jedes Mal, aber es sollte nur einmal zeigen:Der Dialog wird jedes Mal angezeigt?

Ich habe den folgenden Code, der in meinem onCreate() für eine SMS Genehmigung überprüft:

if (ContextCompat.checkSelfPermission(MainActivity.this, 
       Manifest.permission.READ_CONTACTS) 
       != PackageManager.PERMISSION_GRANTED) { 

      // Should we show an explanation? 
      if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, 
        Manifest.permission.SEND_SMS)) { 

       Toast.makeText(MainActivity.this, "You should enable", Toast.LENGTH_SHORT).show(); 

       /*ActivityCompat.requestPermissions(MainActivity.this, 
         new String[]{Manifest.permission.SEND_SMS}, 1001 
       );*/ 


      } else { 

       // No explanation needed, we can request the permission. 

       ActivityCompat.requestPermissions(MainActivity.this, 
         new String[]{Manifest.permission.SEND_SMS}, 1 
         ); 
      } 
     } 

Das Problem ist, , selbst wenn der Benutzer aktiviert in onCreate klickt, öffnet die App den Berechtigungsdialog, wenn der Benutzer das nächste Mal die App öffnet. Sollte die Erlaubnis nicht erteilt werden und der Dialog nicht mehr angezeigt werden?

+0

Du bist gerade für 'READ_CONTACTS' und anfragende' SEND_SMS' –

Antwort

1

Du bist gerade für Manifest.permission.READ_CONTACTS statt Manifest.permission.SEND_SMS

Verwandte Themen