Android AWS TransferService не работает на уровне API 26 и выше - PullRequest
0 голосов
/ 23 мая 2019

Попытка загрузить какое-то изображение в корзину s3 AWS. Работает нормально ниже уровня API 26, но показывает ошибку Невозможно выполнить HTTP-запрос: время ожидания от уровня API 26 и выше.

Используется SDK:

implementation 'com.amazonaws:aws-android-sdk-s3:2.13.+'
implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.13.+@aar') { transitive = true }
implementation ('com.amazonaws:aws-android-sdk-auth-userpools:2.13.+@aar') { transitive = true }

Я запустил службу из приложения, как:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        val channel = NotificationChannel(AWS_NOTIFICATION_CHANNEL_ID, AWS_NOTIFICATION_CHANNEL_ID,
                NotificationManager.IMPORTANCE_HIGH)
        (getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).createNotificationChannel(channel)
        val notification = Notification.Builder(applicationContext, AWS_NOTIFICATION_CHANNEL_ID)
                .setContentTitle(AWS_NOTIFICATION_TITLE)
                .setContentText(AWS_NOTIFICATION_CONTENT)
                .setSmallIcon(R.mipmap.sym_def_app_icon)
                .build()
        val tsIntent = Intent(applicationContext, TransferService::class.java)
        tsIntent.putExtra(TransferService.INTENT_KEY_NOTIFICATION, notification)
        tsIntent.putExtra(TransferService.INTENT_KEY_NOTIFICATION_ID, AWS_NOTIFICATION_ID)
        tsIntent.putExtra(TransferService.INTENT_KEY_REMOVE_NOTIFICATION, true)
        applicationContext.startForegroundService(tsIntent)
    } else {
        applicationContext.startService(Intent(applicationContext, TransferService::class.java))
    }

Оцените оба решения с использованием или без использования TransferService .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...