Я пытаюсь отправить полезную нагрузку байтов от рекламодателя обнаружителю после успешного установления соединения (STATUS_OK
в onConnectionResult()
), но я получаю ошибку STATUS_OUT_OF_ORDER_API_CALL
(ошибка 8009).Как это исправить?
Со страницы документации по коды состояния я знаю, что есть метод, который мне следует вызывать первым, но я не знаю, какой это метод.
Я видел «Как устранить ошибку STATUS_OUT_OF_ORDER_API_CALL?» по этой проблеме.В принятом ответе говорится, что вы можете получить ошибку, если попытаетесь подключиться к кому-либо после отключения.Эта проблема возникает, когда я впервые открываю приложение и пытаюсь отправить полезную нагрузку, и я не получаю код состояния API_CONNECTION_FAILED_ALREADY_IN_USE
или STATUS_ALREADY_ADVERTISING
в onConnectionResult()
.Кроме того, этот пост был связан с получением ошибки при попытке запросить соединение, в то время как в моей ситуации и рекламодатель, и обнаружитель подключились нормально.
if (isAdvertising) {
Log.d(TAG, "send: advertising fine");
}
connectionsClient
.sendPayload(endpointId, payload)
.addOnFailureListener(e -> Log.w(TAG,
"(send payload) onFailure: " + failureMsg, e) )
.addOnSuccessListener(aVoid -> Log.w(TAG,
"(send payload) onSuccess: " + successMsg));
Странная часть - это первая полезная нагрузкаЯ пытаюсь отправить работы, но последующие полезные данные не отправляются.
Сообщение об ошибке:
2019-04-03 19:14:13.535 31128-31128/com.example.adhocdisplay W/ConnectionsActivity: (send payload) onFailure: Failed to send calibration direction payload
com.google.android.gms.common.api.ApiException: 8009: STATUS_OUT_OF_ORDER_API_CALL
at com.google.android.gms.internal.nearby.zzby.setFailedResult(Unknown Source:4)
at com.google.android.gms.internal.nearby.zzba.zzc(Unknown Source:18)
at com.google.android.gms.internal.nearby.zzea.dispatchTransaction(Unknown Source:7)
at com.google.android.gms.internal.nearby.zzb.onTransact(Unknown Source:22)
at android.os.Binder.execTransact(Binder.java:731)