尽管调用了 setSelectedAccountName (Android 6.0),但 GoogleAccountCredential 名称为空
GoogleAccountCredential name is null despite calling setSelectedAccountName (Android 6.0)
我使用安全后端创建了一个端点,并且自 3 月以来一直在我正在构建的应用程序上使用它(源文档 here)。我最近在我的 Android 6.0 设备上安装了最新版本并弹出了一个奇怪的错误(它在 4.2.2 和 5.1 上完美运行)。
具体错误是:
IllegalArgumentException: the name must not be empty: null
这是我查到的凭证错误,你可以看下面的代码。在 Android 6.0 帐户上可能是 "user@gmail.com" 但字符串 'test' 结果为空!
GoogleAccountCredential 是否有关于 6.0 的特定内容?
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;
}
是 Android 6.0 Marshmallow,您现在需要在 运行 时间 https://developer.android.com/training/permissions/index.html
请求权限
为了获得这些凭据,您需要 CONTACTS 组中的 GET_ACCOUNTS 权限
https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous
您必须在 activity/fragment 中提出请求并处理与您的应用相关的任何用户体验。
我使用安全后端创建了一个端点,并且自 3 月以来一直在我正在构建的应用程序上使用它(源文档 here)。我最近在我的 Android 6.0 设备上安装了最新版本并弹出了一个奇怪的错误(它在 4.2.2 和 5.1 上完美运行)。
具体错误是:
IllegalArgumentException: the name must not be empty: null
这是我查到的凭证错误,你可以看下面的代码。在 Android 6.0 帐户上可能是 "user@gmail.com" 但字符串 'test' 结果为空!
GoogleAccountCredential 是否有关于 6.0 的特定内容?
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;
}
是 Android 6.0 Marshmallow,您现在需要在 运行 时间 https://developer.android.com/training/permissions/index.html
请求权限为了获得这些凭据,您需要 CONTACTS 组中的 GET_ACCOUNTS 权限
https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous
您必须在 activity/fragment 中提出请求并处理与您的应用相关的任何用户体验。