【问题标题】:Synchronize conversation error for twilio conversation sdktwilio 对话 sdk 的同步对话错误
【发布时间】:2020-12-24 05:20:27
【问题描述】:

我关注了Android quickstart conversations project 我正面临以下详细信息的崩溃 -

com.twilio.conversations.ListenerException: Exception thrown by a listener. Your application might have a problem in listener implementation. Listeners must never throw uncaught exceptions. See 'Caused by:' below for more details.
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at com.twilio.conversations.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:123)
        at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
        at $Proxy10.onSuccess(Unknown Source)
        at com.twilio.conversations.internal.CallbackListenerForwarder$1.run(CallbackListenerForwarder.java:34)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.IllegalStateException: Messages are not available at the moment. Synchronize the conversation first.
        at com.twilio.conversations.ConversationImpl.getMessages(ConversationImpl.java:214)
        at com.twilio.conversations.ConversationImpl.getLastMessages(ConversationImpl.java:282)
        at QuickstartConversationsManager.loadPreviousMessages(QuickstartConversationsManager.java:222)
        at QuickstartConversationsManager.access$600(QuickstartConversationsManager.java:43)
        at QuickstartConversationsManager$3.onSuccess(QuickstartConversationsManager.java:156)
        at QuickstartConversationsManager$3.onSuccess(QuickstartConversationsManager.java:147)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.twilio.conversations.internal.RethrowingForwarder$RethrowingProxy.invoke(RethrowingForwarder.java:121)
        at java.lang.reflect.Proxy.invoke(Proxy.java:1006) 
        at $Proxy10.onSuccess(Unknown Source) 
        at com.twilio.conversations.internal.CallbackListenerForwarder$1.run(CallbackListenerForwarder.java:34) 
        at android.os.Handler.handleCallback(Handler.java:883) 
        at android.os.Handler.dispatchMessage(Handler.java:100) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7356) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 

关于缺失或错误的任何想法?

【问题讨论】:

  • 您好,欢迎您。也请分享代码。只有错误信息有点少。
  • 你找到解决办法了吗?
  • 请让我知道是否有人找到解决方案,因为我已经被这个错误困扰了好几天,并且没有可能的解决方案

标签: twilio twilio-programmable-chat


【解决方案1】:

我知道这已经有一段时间了,但我在从 Twilio Chat 转移到 Twilio Conversation 时遇到了这个问题。我的解决方法是将您正在调用的方法包装在同步状态检查中。

Caused by: java.lang.IllegalStateException: Messages are not available at the moment. Synchronize the conversation first. 表示对话可能不同步。

    if (conversation?.synchronizationStatus?.isAtLeast(Conversation.SynchronizationStatus.ALL) == true)  {
      conversation?.setAllMessagesRead { value -> Timber.v("Unread Count:" + value) }
    }

这里是 twilio 文档,介绍了如果您的对话不同步该怎么办或如何处理 else 语句。

https://www.twilio.com/docs/conversations/best-practices-sdk-clients#mobile-sdks-specifics

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多