-
Notifications
You must be signed in to change notification settings - Fork 61
Description
使用过程中flutter侧的onAnimationStart方法没有走,排查中发现下面的报错:
Event:APP_SCOUT_WARNING Thread:main backtrace: at io.flutter.embedding.engine.FlutterJNI.nativeDispatchPlatformMessage(Native Method) at io.flutter.embedding.engine.FlutterJNI.dispatchPlatformMessage(FlutterJNI.java:1133) at io.flutter.embedding.engine.dart.DartMessenger.send(DartMessenger.java:281) at io.flutter.embedding.engine.dart.DartExecutor$DefaultBinaryMessenger.send(DartExecutor.java:475) at io.flutter.embedding.engine.dart.DartExecutor.send(DartExecutor.java:228) at io.flutter.plugin.common.MethodChannel.invokeMethod(MethodChannel.java:117) at io.flutter.plugin.common.MethodChannel.invokeMethod(MethodChannel.java:102) at com.example.flutter_pag_plugin.FlutterPagPlayer.notifyEvent(FlutterPagPlayer.java:158) at com.example.flutter_pag_plugin.FlutterPagPlayer$2.onAnimationStart(FlutterPagPlayer.java:122) at android.animation.Animator$AnimatorListener.onAnimationStart(Animator.java:584) at android.animation.ValueAnimator.notifyStartListeners(ValueAnimator.java:1114) at android.animation.ValueAnimator.startAnimation(ValueAnimator.java:1363) at android.animation.ValueAnimator.start(ValueAnimator.java:1165) at android.animation.ValueAnimator.start(ValueAnimator.java:1189) at com.example.flutter_pag_plugin.FlutterPagPlayer.start(FlutterPagPlayer.java:64) at com.example.flutter_pag_plugin.FlutterPagPlugin$3.run(FlutterPagPlugin.java:288) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:211) at android.os.Looper.loop(Looper.java:300) at android.app.ActivityThread.main(ActivityThread.java:8503) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954)
目前我的解决办法是在Android端的onAnimationStart中将notifyEvent方法切到主线程调用:
new Handler(Looper.getMainLooper()).post(new Runnable() { @Override public void run() { notifyEvent(FlutterPagPlugin._eventStart); } });