it-swarm.com.de

Android App fragt bei der Installation nicht nach Berechtigungen

Ich arbeite in der IT-Abteilung meiner Universität und wir arbeiten an einer App, die das richtige Setup für das eduroam WiFi installiert (vielleicht haben Sie davon gehört).

Ich habe jedoch ein Problem damit, es auf meinem eigenen LG G4 mit Android 6.0 auszuführen. Bei der Installation des kompilierten * .apk werden keine Berechtigungen angefordert, obwohl sie in der AndroidManifest.xml festgelegt sind. Es funktionierte auf allen vorherigen Android-Versionen.

Ist es jetzt obligatorisch, zur Laufzeit nach Berechtigungen zu fragen? 

18
der_eismann

Wenn Ihre Ziel-SDK-Version 23 ist, müssen Sie zur Laufzeit nach "gefährlichen" Berechtigungen fragen.

Wenn dies der Fall ist, sollten Sie in der Lage sein, zu sehen, dass keine Berechtigungen erteilt wurden, wenn Sie zu Settings > Apps > "Your app" > Permissions wechseln.

Wenn Sie das neue System noch nicht implementieren möchten, können Sie die Ziel-SDK-Version auf 22 reduzieren, um das alte Berechtigungssystem zu erhalten. Sie können mit sdk Version 23 trotzdem kompilieren.

Weitere Informationen finden Sie in der Dokumentation .

37
StuStirling

wenn Sie zur Laufzeit Berechtigungen anfordern möchten, sollten Sie eine spezielle Anforderung in Ihre App schreiben. Etwas wie das:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        createPermissions();
}
public void createPermissions(){
    String permission = Manifest.permission.READ_SMS;
    if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED){    
        if(!ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), permission)){
              requestPermissions(new String[]{permission}),
                        SMS_PERMISSION);
        }
    }
}
2