没有这样的方法异常时使用Smooch android sdk发送耳语后要求评价应用程序

问题描述:

我正在使用Smooch.io sdk为我的android应用程序构建客户支持系统,并且我能够发送消息给支持团队,但是我已经配置了一个自动回复,要求用户评分。但是,在收到耳语时,应用程序崩溃,进一步对话屏幕无法加载。 找到错误没有这样的方法异常时使用Smooch android sdk发送耳语后要求评价应用程序

java.lang.NoSuchMethodError: No virtual method getState()Ljava/lang/String; in class Lio/smooch/core/MessageAction; or its super classes (declaration of 'io.smooch.core.MessageAction' appears in /data/app/com.fedo.app-2/base.apk) 
                    at io.smooch.ui.adapter.MessageListAdapter.getItemView(Unknown Source) 
                    at io.smooch.ui.adapter.MessageListAdapter.getView(Unknown Source) 
                    at android.widget.AbsListView.obtainView(AbsListView.java:2346) 
                    at android.widget.ListView.makeAndAddView(ListView.java:1876) 
                    at android.widget.ListView.fillDown(ListView.java:702) 
                    at android.widget.ListView.fillFromTop(ListView.java:763) 
                    at android.widget.ListView.layoutChildren(ListView.java:1671) 
                    at android.widget.AbsListView.onLayout(AbsListView.java:2148) 
                    at android.view.View.layout(View.java:16636) 
                    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
                    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
                    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
                    at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
                    at android.view.View.layout(View.java:16636) 
                    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
                    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079) 
                    at android.view.View.layout(View.java:16636) 
                    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
                    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
                    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
                    at android.view.View.layout(View.java:16636) 
                    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
                    at android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:437) 
                    at android.view.View.layout(View.java:16636) 
                    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
                    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
                    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
                    at android.view.View.layout(View.java:16636) 
                    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
                    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) 
                    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) 
                    at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) 
                    at android.view.View.layout(View.java:16636) 
                    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
                    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) 
                    at android.widget.FrameLayout.onLayout(FrameLayout.java:273) 
                    at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678) 
                    at android.view.View.layout(View.java:16636) 
                    at android.view.ViewGroup.layout(ViewGroup.java:5437) 
                    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171) 
                    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931) 
                    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) 
                    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) 
                    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) 
                    at android.view.Choreographer.doCallbacks(Choreographer.java:670) 
                    at android.view.Choreographer.doFrame(Choreographer.java:606) 
                    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) 
                    at android.os.Handler.handleCallback(Handler.java:739) 
                    at android.os.Handler.dispatchMessage(Handler.java:95) 
                    at android.os.Looper.loop(Looper.java:148) 
                    at android.app.ActivityThread.main(ActivityThread.java:5417) 
                    at java.lang.reflect.Method.invoke(Native Method) 
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

此错误仅适用于最新版本。我回到2.0.5,一切OK!

compile 'io.smooch:core:2.0.5' 
compile 'io.smooch:ui:2.0.5' 
+0

Smooch开发者修复它! https://github.com/smooch/smooch-android/issues/4 – terrakok