getIdentityId () возвращает null в первый раз после входа в систему в Android, вылетает приложение, но за диалоговым окном system cra sh, через несколько секунд оно загружается, а при повторном открытии оно ведет себя нормально. Коды, которые я пробовал:
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
getApplicationContext(), // Context
"IDENTITY_POOL_ID", // replaced by Identity Pool ID of mine
Regions.AP_SOUTH_1// Region
);
new Thread(new Runnable() {
@Override
public void run() {
String identityId = credentialsProvider.getIdentityId();
}
}).start();
Пришлось начинать новый поток, поскольку он выдавал ошибку в Основном потоке. Другой способ, который я попробовал:
new Thread(new Runnable() {
@Override
public void run() {
final AWSCredentials credentials = AWSMobileClient.getInstance().getCredentials();
}
}).start();
String identityId = AWSMobileClient.getInstance().getIdentityId();
Ошибка, которая отображается в Logcat. Причина:
com.amazon aws .services.s3.model.AmazonS3Exception: Доступ запрещен (Сервис: Amazon S3; Код состояния: 403; Код ошибки: AccessDenied; Дает один и тот же результат каждый раз только после входа или регистрации.
Кто-нибудь сталкивался с подобной проблемой, подобной этой, или знает в чем проблема, было бы замечательно, если какое-либо решение предоставлено. Спасибо всем зрителям за ваше драгоценное время