2016-09-03 7 views
-4

Kann mir bitte jemand vorschlagen, welche Änderungen ich in meinem Code für das Abrufen von Kontakten aus der Kontaktliste in Android machen sollte. Die Logik, die ich geschrieben habe, funktioniert perfekt für Lutscher und unten aber über Lutscher es abstürzt sagen Sicherheitsausnahme ..Android Marshmallow Sicherheits Ausnahme beim Erhalten von Kontakten

+0

Sind Sie Berechtigungen zur Laufzeit zu bekommen? Für Android M und höher müssen Sie die Berechtigungen zur Laufzeit anfordern. –

+0

Ich habe gerade in Manifest um Erlaubnis gebeten, und mit Inhaltsanbietern abrufen. – Ankit

+1

Dies wird Ihnen helfen https://developer.android.com/training/permissions/requesting.html –

Antwort

1

verweisen auf https://developer.android.com/training/permissions/requesting.html

„Beginning in Android 6.0 (API-Ebene 23), Benutzer Berechtigungen erteilen zu Apps, während die App läuft, nicht wenn sie die App installieren. "

Berechtigungen werden als normal und gefährlich eingestuft.

Der folgende Code überprüft, ob die App die Berechtigung des Benutzers Kontakte zu lesen hat, und fordert die Erlaubnis, falls erforderlich:

// Here, thisActivity is the current activity 
if (ContextCompat.checkSelfPermission(thisActivity, 
      Manifest.permission.READ_CONTACTS) 
    != PackageManager.PERMISSION_GRANTED) { 

// Should we show an explanation? 
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, 
     Manifest.permission.READ_CONTACTS)) { 

    // Show an expanation to the user *asynchronously* -- don't block 
    // this thread waiting for the user's response! After the user 
    // sees the explanation, try again to request the permission. 

} else { 

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

    ActivityCompat.requestPermissions(thisActivity, 
      new String[]{Manifest.permission.READ_CONTACTS}, 
      MY_PERMISSIONS_REQUEST_READ_CONTACTS); 

    // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an 
    // app-defined int constant. The callback method gets the 
    // result of the request. 
} 
} 
Verwandte Themen