Aws sdk Android getIdentityId () возвращает null в первый раз после входа в систему всегда, происходит сбой приложения. Любое решение? - PullRequest
0 голосов
/ 04 февраля 2020

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; Дает один и тот же результат каждый раз только после входа или регистрации.

Кто-нибудь сталкивался с подобной проблемой, подобной этой, или знает в чем проблема, было бы замечательно, если какое-либо решение предоставлено. Спасибо всем зрителям за ваше драгоценное время

...