【问题标题】:Does flutter change incoming Android Intents?颤振会改变传入的 Android 意图吗?
【发布时间】: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


【解决方案1】:

我的错误是使用匿名 BroadcastReceiver 对象。一旦我将它重构为一个完整的类并创建了它的一个实例,它就可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 2021-12-04
    • 2021-10-07
    • 1970-01-01
    • 2019-02-12
    相关资源
    最近更新 更多