【发布时间】:2021-10-12 19:37:54
【问题描述】:
我正在编写一个 Flutter 应用程序,该应用程序通过 Zebra 的 Datawedge 服务侦听条形码扫描。我已将服务配置为启动带有条形码信息的 Android Intent。
我能够成功注册广播接收器,并且我知道我在扫描时正在接收广播。然而问题是,出于某种原因,意图操作与我注册的操作不同。我在 Android Studio 中使用 Datawedge 时从未遇到过这个问题,而且我的个人资料与任何其他项目相同。
每次扫描时,我都会收到带有操作 android.intent.action.RUN 的 Intent,以及额外的 Bundle[{enable-checked-mode=true, start-paused=true, enable-dart-profiling=true, verify-entry-points=true, enable-background-compilation=true}]
我的问题是,Dart 或 Flutter 是否会以某种方式掩盖传入的 Android Intent?我也尝试在 AndroidManifest 中注册我的操作/类别,但这也没有奏效,我的意图仍然相同。
【问题讨论】:
-
我用 Flutter 测试了 DataWedge Intents,但我没有看到 Intents 被修改,github.com/ZebraDevs/DataWedge-Flutter-Demo。我正在使用广播意图。
-
我最后确实明白了这一点,问题是我使用的是匿名 BroadcastReceiver 对象(我在 Flutter 之外成功使用的模式)。一旦我将其提取到适当的类中,它就可以正常工作了。
标签: android flutter dart datawedge