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
// 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