android - Gluon Charm Down 条码扫描仪 - 未找到 Intent 处理程序

标签 android mobile barcode-scanner gluon charm

我正在使用 Netbeans 8.1 和 gluonhq jfxplugin 2.2.0。

我正在尝试读取条形码,并创建了一个新项目(标准的 hello world)。我更改了按钮处理程序以调用函数 UpdateText()(如下),该函数又调用 Charm Down Scan 服务。

当我运行应用程序并单击按钮时,我在 Android 设备管理器中收到以下错误:

E/AndroidRuntime(3583): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.gluonhq.charm.down.android.scan.SCAN cat=[android.intent.category.DEFAULT] flg=0x4080000 }

此崩溃发生在 scanservice.scan() 行上。

按钮点击处理程序代码:

    protected void UpdateText(Label label) {
        ScanService scanService = PlatformFactory.getPlatform().getScanService();
        StringProperty scannedString = scanService.scan();
        scannedString.addListener((obs, ov, nv) -> System.out.println("Scanned String = " + nv));
    }

我非常感谢任何帮助

最佳答案

您需要在 AndroidManifest.xml 文件中定义 com.gluonhq.charm.down.android.scan.SCAN Intent 。在主要 Activity 定义下方添加以下 Activity 定义:

<activity android:name="com.gluonhq.charm.down.android.scan.zxing.CaptureActivity"
        android:screenOrientation="sensorLandscape"
        android:clearTaskOnLaunch="true"
        android:stateNotNeeded="true"
        android:windowSoftInputMode="stateAlwaysHidden">
    <intent-filter>
        <action android:name="com.gluonhq.charm.down.android.scan.SCAN"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

默认情况下,插件会在后台为您生成 AndroidManifest.xml 文件。如果您尚未设置自定义 AndroidManifest.xml 文件,则可以复制插件生成的文件。默认版本位于 build/javafxports/tmp/android/AndroidManifest.xml 中。只需将该位置复制到持久位置,即 src/android 即可。然后更新您的 build.gradle 以告诉插件它应该使用自定义 AndroidManifest.xml 文件而不是生成默认文件:

jfxmobile {
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
}

更新: 您还需要向 zxing 核心库添加额外的依赖项,因为当单独依赖 charm 库时,它似乎不会自动包含:

dependencies {
    androidRuntime 'com.google.zxing:core:3.2.1'
}

此外,您还必须将 CAMERA 权限添加到您的 list 中:

<uses-permission android:name="android.permission.CAMERA"/>

关于android - Gluon Charm Down 条码扫描仪 - 未找到 Intent 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37162165/

相关文章:

iOS 条码扫描器

android - Smack API - 从 Openfire 服务器读取聊天记录

asp.net - 什么重定向用于网站的移动版本?

javascript - 使用浏览器宽度而不是屏幕宽度重定向到移动设备

c# - 使用 C# 在数据逻辑存储器设备上按下扫描按钮时的替代事件

android - 使用 Android 阅读低对比度 (3D) 打印的二维码

php - 使用 HttpURLConnection 上传多个图像文件

android - 从 Bitmap 中剪切多点 ploygon 并将其置于透明状态

android - 如何使用 android 中的 kotlin 合成从包含的布局中访问 View

javascript - Google Maps Javascript API 移动性能问题