- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我通过启动 Intent
在我的应用程序中使用 Zxing Barcode Scanner,这样我就可以扫描条形码并将数据返回到我的应用程序。非常基本的东西;它已经工作了很长时间没问题。我最近通过 Play 使用以下堆栈跟踪收到错误报告:
java.lang.SecurityException: Permission Denial: starting Intent
{ act=com.google.zxing.client.android.SCAN cmp=com.ups.mobile.android/com.google.zxing.client.android.CaptureActivity }
from ProcessRecord{421bafc8 11687:edu.byu.dburner.lendablefree/10141}
(pid=11687, uid=10141) not exported from uid 10137
at android.os.Parcel.readException(Parcel.java:1327)
at android.os.Parcel.readException(Parcel.java:1281)
at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1736)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1383)
at android.app.Activity.startActivityForResult(Activity.java:3281)
at edu.byu.dburner.lendable.xxxxx.xxxx$2.onClick(xxxxxx.java:539)
at android.view.View.performClick(View.java:3644)
at android.view.View$PerformClick.run(View.java:14313)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4514)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
at dalvik.system.NativeStart.main(Native Method)
据我可以通过堆栈跟踪得知,com.ups.mobile.android
存在一些问题,它是也使用 Zxing 应用程序的 UPS 应用程序。我尝试在同一部手机上安装 UPS 应用程序和我的应用程序,并触发发生问题的 onClick
事件。除了选择器要求我选择条码扫描应用程序或 UPS 应用程序来执行 Intent
之外,没有发生任何重要的事情。我唯一的猜测是我们的两个应用程序都发生了某种冲突,一次只有一个人可以使用 Barcode Scanner 包,从而导致 SecurityException。但这对我来说没有多大意义,因为我可以毫无问题地做到这一点,而且我想很多人都安装了多个使用 Zxing 的应用程序,没有任何问题。
有没有人知道导致此错误的原因以及我可以采取什么措施来解决它?
编辑:根据 SeanOwen 的评论,如果您在使用 Barcode Scanner 时遇到这个问题,请务必使用 IntentIntegrator
。它们提供了一个内置方法 setTargetApplications
。您可以使用它来使 Intent
仅使用实际的条码扫描器应用程序:setTargetApplications(IntentIntegrator.TARGET_BARCODE_SCANNER_ONLY);
简单易行。
最佳答案
UPS Mobile 没有链接到 Barcode Scanner 应用程序,但显然已经嵌入了它的源代码。这并不令人震惊,即使 ZXing 团队不支持也不推荐它。
但是,UPS Mobile 开发人员随后做了两件事:
他们保持不变 <intent-filter>
,特别是在他们宣传他们正在处理 com.google.zxing.client.android.SCAN
的地方行动,尽管他们实际上并不是那个应用程序
他们将 Activity 标记为未导出
由 this bug 提供, 选择器仍然会显示他们的 Activity ,尽管他们的 Activity 没有导出,因此无法启动。
UPS Mobile 要么按照您的方式链接到 Barcode Scanner,要么不宣传此操作。当然,这个错误应该得到修复。
不幸的是,我能想到的唯一解决方法是让您添加 Intent
条形码扫描器的实际包名称 ( com.google.zxing.client.android
) 以尝试将其限制为仅该应用程序。
这让人想起 another SO question ,导致a blog post of mine ,这显然不足以教育 UPS,所以我可能会再次写博客......
关于android - 使用 Zxing 条码扫描器导致 SecurityException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11388450/
我正在为我的移动应用程序项目使用 worklight。我的问题是,我不知道在哪里可以找到这些文件(zxing-all-in-one.cpp 和 zxing-all-in-one.h),用于在 Xcod
我在 .NET 上使用 zxing 取得了巨大成功,并试图获得解码 QR 条码的最佳速度(我有很多事情要做——1.8M)。我正在使用的代码(它的一部分): // Create Barcode deco
我使用 com.google.zxing.qrcode.QRCodeWriter 对数据进行编码,并使用 com.google.zxing.client.j2se.MatrixToImageWrite
我项目的包名是 com.mohit.verma 我不想在外部安装 zxing 条码扫描仪应用程序。 我只想使用库文件。 那么我应该在哪里更改包名称? 任何帮助,将不胜感激... 我的代码如下: ba
我正在尝试使用说明 here 构建 Zxing android 应用程序(不是库) .我能够构建 jar 但无法构建应用程序本身。当我运行 mvn package android:apk 时,出现以下
本文整理了Java中jsc.kit.zxing.zxing.ui.ZXingFragment类的一些代码示例,展示了ZXingFragment类的具体用法。这些代码示例主要来源于Github/Stac
我正在开发一个通过 ZXing 在 Android 上扫描条形码的应用程序。我关注这个tutorial . 但是当我运行我的应用程序时,出现 NoClassDefFoundError 并且应用程序已完
我已经下载了适用于 Android 的 Zxing Barcode Scanner 代码,但我在源代码中找不到软件包 com.google.zxing。我认为该项目缺少库或 JAR 文件。谁能帮我找到
我正在尝试做一个应用程序来为多个条形码的信息创建一个最终的二维码我扫描过的。我想知道您如何将 ZXing 库导入您的代码?假设用户已经在他们的手机中安装了 ZXing 扫描仪,我是否可以只连接应用程序
我正在尝试使用 ZXing 2.1 库获得成功的结果。我在 Mac OS X 10.7.5 上使用 Java 1.6。我能够编码文本但不能解码任何图像。相反,我得到的只是 com.google.zxi
我正在使用 ZXing.Net 0.16.4.0 解码保存在 中的二维码文件'wwwroot/qrr' 文件夹,但我收到编译时错误: Cannot convert from 'System.Drawi
我已经将 Zxing 作为库集成并在我的应用程序中使用。我调用 Intent intent = new Intent("com.google.zxing.client.android.SCAN");
我正在尝试将 zxing 扫描仪合并到我的 Angular 应用程序中,在按照在线指南进行操作后,它出现了以下我似乎无法解决的错误, 'zxing-scanner' 不是已知元素: 如果“zxing-
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我想实现来自 https://github.com/dm77/barcodescanner 的条码扫描器库.像这样运行项目后出现错误 java.lang.NoSuchFieldError: No st
我使用此代码生成我的二维码 ZXing.Net ( http://zxingnet.codeplex.com/ ) IBarcodeWriter writer = new BarcodeWriter
我想使用 ZXing 库制作一个二维码扫描器。在我的 build.gradle 中,我添加了以下代码: repositories { mavenCentral() maven {
我正在试验 ResultPoints,它返回与图像中条形码相关的点。 对于二维码,ResultPoints 返回一组 4 个点,它们是二维码每个角的四个框的坐标。 当我对条码进行同样的实验时,它返回两
我正在开发一个 android 应用程序,在其中我生成数据矩阵并允许用户使用 zxing 输入它们来扫描它们。 但是,出现了一个许可证问题,询问 zxing 扫描的所有格式是否都可用开源。 这与应用程
我将 ZXing.Net.Mobile 用于这样的表单 var scanPage = new ZXingScannerPage();
我是一名优秀的程序员,十分优秀!