android - 将 zxing 条码扫描器嵌入到 Activity 中

标签 android embed zxing

我正在编写 android 应用程序,我的客户需要在其中安装条形码扫描仪。他们真的很具体,所以他们想要的布局是这样的:

enter image description here

如果找到二维码 - 它会自动跳转到另一个窗口。如果手动按下 - 您将被要求手动输入并继续应用程序的其余部分。

所以基本上我可以将 zxing 代码嵌入到我的应用程序中并将其添加到 Activity 中,但我不想要那样,并且希望将它作为一个单独的应用程序。

我目前拥有的是一个单独的 Activity ,名称如下:

IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();

我也试过这个:

IntentIntegrator intentIntegrator = new IntentIntegrator(this);
Intent i = intentIntegrator.initiateCustomScan();

LocalActivityManager mgr = getLocalActivityManager();

Window w = mgr.startActivity("unique_per_activity_string", i);
View wd = w != null ? w.getDecorView() : null;

if(wd != null) {
  scanButton.addView(wd);
}

但随后我得到 java.lang.SecurityException:

03-19 12:22:55.890: E/AndroidRuntime(29394): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.menucard.barcode.scan/com.barcode.scan.ScanActivity}: java.lang.SecurityException: Requesting code from com.google.zxing.client.android (with uid 10139) to be run in process com.menucard.barcode.scan (with uid 10169)

也许有人知道如何将单独的应用程序添加到我的 Activity 中?或者其他方式来实现?

最佳答案

很遗憾,您不能通过 Intent 将外部应用程序嵌入到另一个应用程序中。对于初学者,这里的外部应用程序需要接管整个屏幕,并且处于横向模式。

您应该编写自己的应用程序,但可以在您的应用程序中重复使用部分条码扫描器,这样它就不会完全从头开始。请不要复制 AndroidManifest.xml 文件。考虑到不同的 UI,我认为它也不会与 Barcode Scanner 混淆。剩下的就是确保您遵守 Apache 许可证的条款(简单)。

关于android - 将 zxing 条码扫描器嵌入到 Activity 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15498679/

相关文章:

android - 如何确定我是否已使用谷歌签名按钮登录或注册我的 Android 应用程序

android - 将 instagram 嵌入到 Android WebView 中

android - zxing 正在生成二维码而不是条形码

android - Zxing - 我的应用不想启动相机

java - 使用 SlidingUpPanel 库将 View 保持在底部

java - 如何成功导入具有所有依赖项的 AndroidX 包?

android - 在没有确认弹出窗口的情况下发送电子邮件

wordpress - YouTube嵌入在WordPress中

firefox - 如何解决Firefox和Chrome之间的问题?

ios - MonoTouch,ZXing : Presenting ZXingScannerViewController failed