Flutter 应用程序在使用电话包时收到短信后崩溃

问题描述 投票:0回答:1

我有一个应用程序可以自动扫描收到的短信。在调试中似乎一切正常,但在应用程序的发布版本中,当收到新短信时它会崩溃。这是堆栈跟踪。我正在使用电话包并已授予所有权限,如电话包文档 (https://pub.dev/packages/telephony) 中所述。我在调用后台函数之前也使用过

@pragma('vm:entry-point')

E/AndroidRuntime(22045): FATAL EXCEPTION: main
E/AndroidRuntime(22045): Process: com.example.expense, PID: 22045
E/AndroidRuntime(22045): java.lang.RuntimeException: Unable to start receiver com.shounakmulay.telephony.sms.IncomingSmsReceiver: java.lang.NullPointerException: Attempt to read from field 'java.lang.String io.flutter.view.FlutterCallbackInformation.callbackLibraryPath' on a null object reference in method 'java.lang.String a1.a$b.toString()'
E/AndroidRuntime(22045):        at android.app.ActivityThread.handleReceiver(ActivityThread.java:4561)
E/AndroidRuntime(22045):        at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
E/AndroidRuntime(22045):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2308)
E/AndroidRuntime(22045):        at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(22045):        at android.os.Looper.loopOnce(Looper.java:240)
E/AndroidRuntime(22045):        at android.os.Looper.loop(Looper.java:351)
E/AndroidRuntime(22045):        at android.app.ActivityThread.main(ActivityThread.java:8364)
E/AndroidRuntime(22045):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(22045):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
E/AndroidRuntime(22045):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
E/AndroidRuntime(22045): Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String io.flutter.view.FlutterCallbackInformation.callbackLibraryPath' on a null object reference in method 'java.lang.String a1.a$b.toString()'
E/AndroidRuntime(22045):        at a1.a$b.toString(Unknown Source:22)
E/AndroidRuntime(22045):        at java.lang.String.valueOf(String.java:3657)
E/AndroidRuntime(22045):        at java.lang.StringBuilder.append(StringBuilder.java:132)
E/AndroidRuntime(22045):        at a1.a.i(Unknown Source:27)
E/AndroidRuntime(22045):        at s0.b.k(Unknown Source:62)
E/AndroidRuntime(22045):        at com.shounakmulay.telephony.sms.IncomingSmsReceiver.b(Unknown Source:30)
E/AndroidRuntime(22045):        at com.shounakmulay.telephony.sms.IncomingSmsReceiver.c(Unknown Source:129)
E/AndroidRuntime(22045):        at com.shounakmulay.telephony.sms.IncomingSmsReceiver.onReceive(Unknown Source:86)
E/AndroidRuntime(22045):        at android.app.ActivityThread.handleReceiver(ActivityThread.java:4545)
E/AndroidRuntime(22045):        ... 9 more

我在调用后台函数之前使用了

@pragma('vm:entry-point')

java android flutter telephony
1个回答
0
投票

更新:降级flutter版本后生效。显然,最新版本的 flutter 对后台功能不友好。

© www.soinside.com 2019 - 2024. All rights reserved.