markusfisch / binaryeye Goto Github PK
View Code? Open in Web Editor NEWYet another barcode scanner for Android
Home Page: https://play.google.com/store/apps/details?id=de.markusfisch.android.binaryeye
License: MIT License
Yet another barcode scanner for Android
Home Page: https://play.google.com/store/apps/details?id=de.markusfisch.android.binaryeye
License: MIT License
#37 introduced more search engines for scanned content, but it obviously doesn't cover all use cases. It would be great if we could ping arbitrary URLs with the content of the decoded bar code. my use case is to use my phone as a barcode scanner for my library collection: i could make a simple webserver that would type whatever is fed to it (with some security token or something) and use this to sort through my library.
this is a bit how barcodetopc.com works, except the latter made an entire other app for scanning barcode instead of reusing an existing one. it also has a custom server-side webserver that is shareware-style and has small limitations and "shareware popups".
by simply pinging a customizable URL, we could delegate this useful software to any other backend we wish...
thanks!
Please, add possibility to connect to wifi networks by scanning qr codes.
At first, thanks for this great app! It looks a lot nicer than the original Barcode Scanner app from zxing while being at least as powerful and fast!
One downside I noticed while using BinaryEye is that most of the apps calling a QR Code reader application use the native Barcode Scanner intent (com.google.zxing.client.android.SCAN
), which is not handled by BinaryEye. I would find it very useful to be able to select BinaryEye as a target application for scanning QR Codes. Sadly, there does not seem to exist an package-independant Intent for querying any installed QR code scanner apps.
A quite simple workaround would be to add a new intent filter with the same name as Barcode scanner and handle it inside CaptureActivity.java
.
What do you think of such a functionality? I would be willing to look into it, but I wanted to discuss it here first.
I am the dev of a Firefox add-on for generating QR codes and I really like your QR code scanner/generator, because:
So, however, when generating and scanning a QR code, you always need two parts: the reader and scanner. On two devices.
I mostly consider this use case: transmit some (potentially private) data from your desktop to your phone.
That's why I'd want to ask, whether we could maybe some kind of "cooperation" to suggest that we can link to each other's app/recommend it, as both things have quite common goals, IMHO. (more on that below)
The exact details can be discussed, but I have a system to show a "random tip" to the add-on user in rare circumstances (non-annoying!). There I already have other tips included, but may also add a recommendation for your app.
Because, IMHO, the users of our software(s) will only benefit.
That said (potential problems):
Also, I am indeed calling for an unobtrusive way and not for big banners or so.
I am deliberately requesting this in an issue tracker publicly here, to discuss this transparently, because this is as FLOSS projects should do it. That's my opinion, at least. 😃
Let me know what you think. 😃
Good day
Firstly, thank you very much for creating Binary Eye!
In my opinion Binary Eye is the best,
compared to: Barcode Scanner, SecScanQR, QR Scanner, Obsqr.
Unfortunately, in latest updates I'm encountering strange "Unfortunately, Binary Eye has stopped." error when I try to use Binary Eye for longer time.
STR:
Latest not affected version of BinaryEye:
1.9.1
First affected version of BinaryEye:
1.10.0
Other affected versions of BinaryEye:
1.11.0
1.11.1
Operating system:
Android 6.0.1
Compilation number:
23.5.A.1.291
Kernel version:
3.4.0-pref-gc14c2d5
Mobile phone:
Sony Xperia Z3 Compact (D5803)
Best regards
Right now only specific history items can be shared.
It would be good to have an option to share the whole history as a list too.
BTW the app is very good. Light, fast, has all the features it needs (besides sharing the whole history list :) )
I hoped this would live up to it's name and display binary or hexadecimal data from a 'binary data' QR code (like the ones from Signal messenger) but it renders the data as a garbled string.
Hello, I'm back again. it's my first time trying to contribute via PR. is it welcomed? 😊
I have translated your application into it
(Italian). Here is the xml:
<resources>
<string name="no_camera_no_fun">Quest\'app non ha alcuna utilità senza accesso alla camera. Addio.</string>
<string name="camera_error">Impossibile accedere alla camera. Riprovare</string>
<string name="scan_code">Codice</string>
<string name="compose_barcode">Crea codice a barre</string>
<string name="decode_barcode">Decodifica codice a barre</string>
<string name="content">Contenuto</string>
<string name="toggle_flash">Flash</string>
<string name="share">Condividi</string>
<string name="copy_to_clipboard">Copia negli appunti</string>
<string name="put_into_clipboard">Metti negli appunti</string>
<string name="open_url">Apri URL</string>
<string name="cannot_resolve_action">Nessuna app può aprirlo</string>
<string name="format">Formato</string>
<string name="size">Dimensioni in pixel</string>
<string name="width_by_height">%1$d×%2$d</string>
<string name="input_content_here">Contenuto input qui</string>
<string name="encode">CODIFICA</string>
<string name="error_no_content">Contenuto mancante</string>
<string name="view_barcode">Vedi codice a barre</string>
<string name="info">Info</string>
<string name="switch_camera">Cambia camera</string>
<string name="history">Cronologia</string>
<string name="use_history">Salva cronologia delle scansioni</string>
<string name="really_remove_scan">Vuoi veramente rimuovere la scansione?</string>
<string name="really_remove_all_scans">Vuoi veramente rimuovere tutte le scansioni?</string>
<string name="clear_history">Pulisci cronologia</string>
<string name="no_barcode_found">Nessun codice a barre trovato</string>
<string name="pick_list_separator">Come separare elementi di una lista?</string>
<string name="separator_line_break">Interruzione di linea</string>
<string name="separator_ruler">Righello</string>
</resources>
Translation made with Stringlate.
This suggestion will affect compose barcode fragment.
Recently, this project received a feature request, to provide a button that opens the correct application, depending on the content of the code read.
Examples :
- if the code contains URL → the button can open the web browser
- if the code starts with mailto: → the button can open the mail client
- if the code is a vCard BEGIN: VCARD → the button can open the contact app Suggested by Nico207
What about when creating a QrCode? Does BinaryEye understand the content of QrCode that should be created? So as to aid readability by the right application after scanning the QrCode?
No, there is no option to select the content of QrCode to be created. This is where my proposal comes in.
While using BinaryEye, I created a QrCode via compose Barcode option with my first device to hold a phone number, then I scanned the code with BinaryEye on my second device, which successfully scanned but didn't open any application to read the digits.
It's a different case when I created a phone number QR-code from another application, then scanned it with BinaryEye. BinaryEye successfully pushed the phone number to a phone dialer, which didn't happen when I created it with BinaryEye.
It'd be nice if there are options to select the type of code to be created. I believe with this, the phone number will be recognized as digits.
For example;
Let's assume I need to create a QR-code of a Contact (digits), website (links) or a PDF file (documents). Let there be a dropdown showing the different types of Qrcode to be created.
Create Content Type Section
It'd be awesome to see the content type section in-between barcode format and text entry section.
Making it a drop-down format will help to manage interface by not consuming a lot of space.
After this suggestion is implemented, users won't stress themselves copying digits to phone dialer. Instead, it's recognized as a digit which then opens the appropriate app to handle it.
Hi, I had just tried out BinaryEye (via F-Droid), and I came away extremely impressed at it's features vs. it's size.
there are two options that in my opinion are missing, though (the others will be in seperate issues).
Could you please add a scan history, with an toggle for enabling/disabling it (the toggle is for those who do not want the history option)?
Barcode picture example :
https://stackoverflow.com/questions/40847508/possibility-for-ean135-addon-barcode-scanning-in-ios
zxing library seems to have this opption (not application though, but they said their application is dead anyway): https://stackoverflow.com/questions/40847508/possibility-for-ean135-addon-barcode-scanning-in-ios
Would you mind attaching the .apk
to your /releases
for folks without Playstore? Or even better, having your app available at F-Droid? It looks pretty privacy-friendly, so us tin-foils would really appreciate it. For F-Droid, the blob in libs/
might be an issue – but there's always my repo if you can provide the .apk
😉
So i tried out the android app from play store with a WPA2-EAP setup, the app adds the wifi profile correctly, but does not connect. I tried putting the same profile manually in android wifi interface, and it works perfectly, bot not through the app. The profile added by the BinaryEye app stays as "saved" but does not connect.
Support for reading and creating UIC codes would be really nice, and implementation for reading allready exists in the open918 library
Greetings,
Firstly, thanks for all the work you have put into this project. Since "Barcode Scanner" is no longer being maintained, I found this project while searching for another free software barcode scanner. Unfortunately, the application crashes immediately after scanning any barcode; displaying "Unfortunately Binary Eye has stopped." I have tried scanning CODE128, CODE93, QR, and Data Matrix. All cause the crash as soon as the code is recognized.
I am using Binary Eye version 1.13.0
Steps to Reproduce:
I have tried the software on two different devices, and both reproduce this issue:
Samsung Galaxy S4 Mini (SCH-I435)
Android 4.4.2
Samsung Galaxy S5 (SM-G900V)
Android 5.0
Here is the stacktrace output from adb logcat:
V/Vibrator(22016): Called vibrate(long) API - PUID: 10194, PackageName: de.markusfisch.android.binaryeye
V/Vibrator(22016): vibrate - PUID: 10194, PackageName: de.markusfisch.android.binaryeye, ms: 100, mag: -1
V/VibratorService( 934): vibrate - package: de.markusfisch.android.binaryeye, ms: 100, token: android.os.BinderProxy@43cf33a0
D/SensorManager(22016): unregisterListener ::
W/dalvikvm(22016): Exception Ljava/util/regex/PatternSyntaxException; thrown while initializing Lc/a/a/a/a/d/b;
D/AndroidRuntime(22016): Shutting down VM
W/dalvikvm(22016): threadid=1: thread exiting with uncaught exception (group=0x41deeda0)
E/AndroidRuntime(22016): FATAL EXCEPTION: main
E/AndroidRuntime(22016): Process: de.markusfisch.android.binaryeye, PID: 22016
E/AndroidRuntime(22016): java.lang.ExceptionInInitializerError
E/AndroidRuntime(22016): at c.a.a.a.a.d.a.a.a()
E/AndroidRuntime(22016): at c.a.a.a.a.a.a()
E/AndroidRuntime(22016): at c.a.a.a.a.c.a()
E/AndroidRuntime(22016): at c.a.a.a.d.e.b()
E/AndroidRuntime(22016): at c.a.a.a.d.e.a()
E/AndroidRuntime(22016): at a.a.c.b.p.b()
E/AndroidRuntime(22016): at a.a.c.b.z.a()
E/AndroidRuntime(22016): at a.a.c.b.z.g()
E/AndroidRuntime(22016): at a.a.c.b.z.a()
E/AndroidRuntime(22016): at a.a.c.b.h.b()
E/AndroidRuntime(22016): at a.a.c.b.z.a()
E/AndroidRuntime(22016): at a.a.c.b.z.b()
E/AndroidRuntime(22016): at a.a.c.b.z.c()
E/AndroidRuntime(22016): at a.a.c.b.z.p()
E/AndroidRuntime(22016): at a.a.c.b.t.l()
E/AndroidRuntime(22016): at a.a.c.b.r.onStart()
E/AndroidRuntime(22016): at android.support.v7.app.m.onStart()
E/AndroidRuntime(22016): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1177)
E/AndroidRuntime(22016): at android.app.Activity.performStart(Activity.java:5461)
E/AndroidRuntime(22016): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2386)
E/AndroidRuntime(22016): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
E/AndroidRuntime(22016): at android.app.ActivityThread.access$900(ActivityThread.java:175)
E/AndroidRuntime(22016): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
E/AndroidRuntime(22016): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(22016): at android.os.Looper.loop(Looper.java:146)
E/AndroidRuntime(22016): at android.app.ActivityThread.main(ActivityThread.java:5602)
E/AndroidRuntime(22016): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(22016): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(22016): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
E/AndroidRuntime(22016): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
E/AndroidRuntime(22016): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(22016): Caused by: java.util.regex.PatternSyntaxException: Unrecognized backslash escape sequence in pattern near index 26:
E/AndroidRuntime(22016): ^BEGIN:(VCARD|VEVENT)(?:\R.+?:[\s\S]+?)+?\REND:\1\R?$
E/AndroidRuntime(22016): ^
E/AndroidRuntime(22016): at java.util.regex.Pattern.compileImpl(Native Method)
E/AndroidRuntime(22016): at java.util.regex.Pattern.compile(Pattern.java:411)
E/AndroidRuntime(22016): at java.util.regex.Pattern.<init>(Pattern.java:394)
E/AndroidRuntime(22016): at java.util.regex.Pattern.compile(Pattern.java:374)
E/AndroidRuntime(22016): at d.i.o.<init>()
E/AndroidRuntime(22016): at c.a.a.a.a.d.b.<clinit>()
E/AndroidRuntime(22016): ... 31 more
W/ActivityManager( 934): Force finishing activity de.markusfisch.android.binaryeye/.activity.MainActivity
W/ActivityManager( 934): Force finishing activity de.markusfisch.android.binaryeye/.activity.CameraActivity
D/CrashAnrDetector( 934): processName: de.markusfisch.android.binaryeye
D/CrashAnrDetector( 934): broadcastEvent : de.markusfisch.android.binaryeye data_app_crash
Thank you for your help.
F-Droid says that Binary Eye 1.14.0 is incompatible with Android 4.1.2, but I installed it on such a device, and it works as expected. You may want to lower down the minimum required version.
Thanks for this great app (F-Droid release v1.3.8)! Could you please add an option to save a generated code to file (so you can email a code or display a code in a web page, for example)?
Scan Barcodes not just from the Camera,
but also from Image Files /sd-card/DCIM/Camera/IMG_2019-11-16_*.jpg
!
Look. If I create a new barcode and I'm just going to share/export into a "Simple Draw" (Zeichenblock) app, I do get always the image for "http://schlüsseldienst-frickenhausen.de", an address which I've made once (I know this should've been "//xn--schlusseldienst-frickenhausen-46c.de").
Now if I'm trying to make a new image for example for "https://github.com/metadings", this exported to my Draw app, I do always get the stupid OLD image !
(There is the file intern/Android/data/de.markusfisch.android.binaryeye/cache/shared_barcode.png
which I can copy to somewhere else 😺)
As the title say, the description of the app in the stores is hardcoded in English. Make it translatable, please.
Please add an option to save barcodes. As such there is the history list, but since there, entries do not have title and/or description it can become difficult to find perticular scan as number of enteries grow. It would be practical to have another list for saved scans, with option for performing search.
My primary use case is to scan barcodes etc. and display those in the original format when needed. And saved scan list would improve apps usability many folds.
User cannot add any new URLs to the set list of search engines
The only site I could find that could lookup 4717954323203 was
http://gepir.gs1.org/index.php/search-by-gtin .
When BinaryEye is installed and another app needs to scan a QR code, the app asks to install a scanner and does not use BinaryEye.
ZXing lib claims to support MaxiCode (yes, the weird UPS thing), however I can't seem to get BinaryEye to scan any that I tried. Is that a limitation of BE or ZX or something else?
Using BinaryEye 1.15.0 from F-Droid.
Trying to scan qr generated from cyrilic letters and got "binary data" instead.
Regarding - #49
I found nice performant engine for decoding QR Codes.
It's BoofCV
Performance test compared to others, like:
looks really impressive
Source:
What do you think about changing engine to BoofCV?
Of course if it has same features and supports same codes.
Just FYI issue.
Users prefer different search engines, so please let them provide their own query URL.
Especially the current search engine is controversial, especially in the FOSS world. There are many people who would like to avoid this service (and would most appreciate if they aren't lead there by accident!).
Please take this into consideration and thank you!
P.S.: As for issue #35—the searching for EAN_13 codes—there is OpenFoodFacts.org (and OpenBeautyFacts.org and OpenPetFoodFacts.org); free and open databases of information on food products. Maybe this could be a good idea.
Could you please add scanning from an existing file as a source?
In any case, Binary Eye is awesome.
Thanks for your hard work!
App version: 1.4.2
Steps to reproduce:
Exception (from logcat):
java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout
Android version: 7.0 (stock ROM, OTA upgrade from 6.0)
Device manufacturer: Sony
Hi,
it could be great if we can have some informations about the scanned code.
After a scan, you could display his type (Code39, Code128GS1, Datamatrix... ), his lenght, his raw content...
Thanks !
the idea is that there would be a button to minimize the app and start looking for readable codes on the screen (will probably need permission to 'draw over other apps'), so i can go to a webpage and show the code, while the app shows a visual cue that this is a readable code and therefore i can select to go back to the app to see it.
a positive point of this would be that i can do stuff such as sending an OTP key to Aegis*, for example, without having to actually download any images to anywhere other than the browser cache or having the code pass through the clipboard.
a con of this though is the permission for seeing the screen, which might worry some people, i think, so i don't know if that is a good idea...
what do you think? :3
A small feature that would be useful for me. My camera's buggy due to my custom firmware, and an option to disable the focus on tap would be useful since the app crashes when I tap the screen.
Hi
Of course, I found the binary eye quite interesting but I want to improve it further by the implementation of the following suggestion.
It should encode the images also in the barcode, I mean It should be able to generate a barcode which can store images too.
Thanks
With regards
@peerzadaabid
This issue sounds odd (also to me), however it has it's importance.
Can you please add the front camera as an additional scanning source?
This could be of use to those with a broken/nonfunctional rear camera.
I hope that BinaryEye could receive an image to read out the QR code. It is used to read a generated QR code, or an image containing a generated QR code (I mean, something like an electronic poster where a QR code is surrounded by various texts).
I expected the app to perform a search about the product using the details gotten from the barcode.
After the barcode is scanned, I clicked on the 'open URL' button and the app says "No application can open that" whereas I have a lot of applications which can open the link.
Device: Gionee f100s
Android version: v6.0
App version: v1.8.1
I use the 3.2.0 version and everything works fine.When I use the 3.4.0 version and open proguardFiles generating apk,it's build error.My proguard-rules.pro Already added
-keep class com.google.zxing.** {*;}
-dontwarn com.google.zxing.**
android studio=3.4.1
java_sdk=1.8
compile_sdk_version = 26
support_version = 26.2.0
min_sdk_version = 19
target_sdk_version = 26
How should I solve the problem?
Hello,
I get the message "No application can open that" when the URI scheme is in uppercase (HTTP or HTTPS).
I use uppercase letters to reduce the number of bits in QR Codes.
According to the RFC 3986 Section 6.2.2.1 (https://tools.ietf.org/html/rfc3986#section-6.2.2.1):
"When a URI uses components of the generic syntax, the component
syntax equivalence rules always apply; namely, that the scheme and
host are case-insensitive and therefore should be normalized to
lowercase."
It seems there's an android command to normalize the scheme as seen here:
(https://stackoverflow.com/questions/27251456/start-browser-via-intent-url-with-schema-http-uppercase-error)
(https://developer.android.com/reference/android/net/Uri#normalizeScheme())
I see the camera image for about 1-2 seconds, then the App quits silently to the launcher.
Device: Samsong Galaxy S5 SM G900F
Android 9
LineageOS 16-microG (no Google Services) klte
I can provide additional information, but need instructions on how to do that ;)
Starting from 1.17.0 calling Binary Eye this way stopped working - Binary Eye just shows the usual result form instead of returning the result.
Hello, I'm Harry. I engage in content creation for open source software. I mostly just create documents which I think would be valuable to the project. I'd like to contribute to yours by creating a contributor's guidelines, and make your privacy policy statement more formal. What do you think?
I expected the app to either encode the content or tell me that I inputted an invalid selection, format, or anything that was wrong.
When I select the format I want (I selected PDF_417), select the size, add the content I want to encode, and click on 'ENCODE' button, an empty pop-up messages is shown. Leaving me confused about what actually happened while trying to create the barcode
Device: Gionee f100s
Android version: v6.0
App version: v1.8.1
Hi,
After scaning a barcode, can you add a button to open the application in connection with the code read.
Examples :
mailto:
→ the button can open the mail clientBEGIN:VCARD
→ the button can open the contact appYou can see some other one on this page : https://github.com/zxing/zxing/wiki/Barcode-Contents
Thanks !
It would be nice to choose "Binary Eye" as an option when sharing a contact, similar to how Huawei shows a QR code when viewing a contact.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.