I've created an endpoint using a secured backend and have been using it since March on an app I'm building (source docs here). I recently installed the latest version to my Android 6.0 device and an odd error popped up (it works perfectly on 4.2.2 & 5.1).
The specific error is:
IllegalArgumentException: the name must not be empty: null
Which I traced to an error with the credential, you can see the code below. On Android 6.0 account may be "[email protected]" but the string 'test' turns out to be null!
Is there something specific about 6.0 that changed GoogleAccountCredential?
public static GoogleAccountCredential getCredential(Context ctx) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
String account = prefs.getString(UserProfileHelper.PREF_USER_ACCOUNT, "");
GoogleAccountCredential credential = GoogleAccountCredential.usingAudience(ctx,
"server:client_id:MY_ACCOUNT_NUMS.apps.googleusercontent.com")
.setSelectedAccountName(account);
String test = credential.getSelectedAccountName();
return credential;
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…