Tôi đã tạo điểm cuối bằng chương trình phụ trợ an toàn và đã sử dụng nó từ tháng 3 trên ứng dụng tôi đang tạo (tài liệu nguồn here). Gần đây tôi đã cài đặt phiên bản mới nhất cho thiết bị Android 6.0 của mình và một lỗi lạ xuất hiện (nó hoạt động hoàn hảo trên 4.2.2 & 5.1).Tên GoogleAccountCredential là null mặc dù gọi setSelectedAccountName (Android 6.0)
Các lỗi cụ thể là:
IllegalArgumentException: the name must not be empty: null
Mà tôi bắt nguồn từ một lỗi với chứng chỉ, bạn sẽ nhìn thấy mã dưới đây. Trên tài khoản Android 6.0 có thể là "[email protected]" nhưng chuỗi 'test' hóa ra là null!
Có điều gì cụ thể về 6.0 đã thay đổi GoogleAccountCredential không?
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;
}
Đã thêm quyền đó. – easycheese
bạn đang yêu cầu hay nó chỉ nằm trong tệp kê khai của bạn? – AndroidEnthusiast
Oh crap ... Thậm chí không nghĩ về điều đó, bạn sẽ nghĩ rằng lint sẽ bắt nó .... Hoặc rằng một lỗi tốt hơn sẽ được ném. Bạn có lẽ đúng, tôi sẽ kiểm tra nó mặc dù. – easycheese