Permissions Api Level 22 und höher

  • Hallo Forum,


    ich bin neu in Java und Android. Ich habe eine App geschrieben, in der ich über eine php-Api mehrere Dinge in eine db eintrage bzw. auslese.
    Damit ich kein Logoin-System brauche, den User aber (auch auf ggf. mehreren Devices) wiedererkenne, lese ich den Google-Nutzernamen aus.
    Das hat auf meinem Handy mit Api < Level 23 gut funktioniert.


    Mein Tablet hat aber eine Api-Level > 23, damit crashe ich dann gleich zu Begin die App, weil ^mien User-auslesen-Code nicht funktioniert.


    Ich habe nun 2 Fragen:


    1) Damit es auf beiden Api-Levels läuft, reicht muss ich dann eine "Weiche" bauen, die zwischen den Api-Levels unterscheidet oder würde der Code für Api Level > 23 auch abwärtskompatibel arbeiten?


    2) Was muss ich hier umbauen, damit der Code auf Api-Level >=23 auch läuft?
    Ich erhalte die Fehlermeldung:


    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.MainActivity}: java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.accounts.Account.name' on a null object reference at android.ativityThread$H.handleMessage(ActivityThread.java:1578) at android.os.Handler.dispatchMessage(Handler.java:105)
    ...
    Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.accounts.Account.name' on a null object reference

    Code
    // Google-Account Informations
            Context context = this;
            Account account = getAccount(AccountManager.get(context));
            String accountName = account.name;
            Log.d("DEBUG", "Acountname = " + accountName );


    Danke für Eure Hilfe im Voraus,


    Lucky

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!