Using IDTech UniPay Card Reader with Cordova/PhoneGap - angularjs

After installing this plugin: https://github.com/TranWare/cordova-plugins which should work with this device: http://www.idtechproducts.com/products/mobile-readers/176.html
I am trying to use it but when I called it "IDTech is not defined" even I saw the plugin running on debug mode!

Are you developing for Android or iOS (or both)?
Looking at the source of this plugin, its Android only. Unfortunately, it looks like nobody has written a proper Cordova plugin for the IDTech card reader that supports both platforms :(
I did find another plugin, but this one is iOS only: https://github.com/deboorn/iMag-Cordova-Plugin. Maybe give that one a shot instead?
I should note I've not tried either of these plugins personally, but I am doing some research in adding support for this device in a Cordova app I've built and came across that plugin (and your post). Best of luck!

Related

Any way to Programmatically enable guided access using ionic capacitor/cordova cross platform?

I am using capacitor, ionic and react and was wondering how this would be done? Are there any plugins that I can use? Is there native Ionic functionality anywhere?
I believe Capacitor is backwards compatible with Cordova so you could use a Cordova plugin. I haven't tested the plugin but this one seems to do it for iOS: https://github.com/wizpanda/cordova-ios-guided-access
You have to be enrolled in some program though, as it states.
If you need other platforms, then you could expose those native capabilities/APIs with the core platform language (Koltin/Java for Android, C#/C++ for Windows, etc..) and fork/extend this plugin. That way, at least the iOS version is already done (given this works).

Integrating a Today Extension into a Codename One iOS App

I'm new to this topic and couldn't find any guides concerning this. I'm wondering how the Today Extension files from a xcode project (originated from the CN1 iOS debug build sources) needs to be added to the actual CN1 project in order to get integrated properly.
We don't have builtin support for that and didn't really study it. We never had official support for Android widgets either.
Both can be used through native code though. E.g. in this case you can use ios.plistInject to add the necessary plist changes. The actual UI/code that implements them should be done in a native interface anyway.

Codename one methods not available on android device

The methods that are missing from the apk file are
BorderLayout.centerEastWest()
Dialog constructor with (String, Layout) as arguments.
There are probably more but these are the ones I encountered. I can work around the problem by using alternate methods and constructor but there seems to be a mismatch between the local library and the android build library.
Please note that when building the project I had to use the android.gradle=false hint for the apk to be readable on my older android 2.3.6 device. Without this hint the apk is not accepted on the device.
In addition the theme resource file is not loaded on the device while it is in the simulator. All these problems might be related ?
Thanks for your help
New features are no longer added to the old Ant build pipeline as maintaining it has become unwieldy since Google no longer supports proper versions of play services or other features we need.
We still have it for compatibility for people who built old applications with it but it's version of the Codename one libraries is frozen in time as newer versions of the libraries will break it. Google killed support forthe 2.x device family ages ago in play services so basic things like in-app purchase or proper location API's can't work on those old devices. The problem is that supporting them would make support for newer features MUCH harder.
I've edited the docs to reflect that this flag is deprecated.

Cross-mobile background service

The goal is to record and analyze GPS tracks:
For iOS and Android devices with GPS it is required to record/analyze in the same time
For other devices (tablet - desktop) it is enough to analyze previously recorded tracks (in the browser)
It is OK to have some platform-specific code, but I'd like to share "analyze" part between iOS, Android and Web AND to be able to run this code while iOS/Android app is backgrounded.
I have some "analyze" code written in JavaScript, so I started looking for options in this order:
1) Do everything in a web app
iOS Safari stops running JavaScript when backgrounded.
No luck.
2) Use PhoneGap or alike
JavaScript stops when backgrounded. It is proposed to write ALL service code as native plugin.
No luck.
3) Use Titanium
Spent two weeks only to find that Android Service implementation in Titanium is incomplete. It lacks startForeground(..), which is used to ask Android to not kill the service. Someone tried to implement native module for this, but reports that while service itself is running, JavaScript don't.
4) Use Marmalade for mobile and compile C++ to JavaScript for Web
Quick googling said C++ code can't be run from service
5) Use MoSync for mobile and compile C++ to JavaScript for Web
Quick googling said they do not support services. On the other hand I saw startForeground(..) in their sources, so maybe worth rechecking.
7) Write in C: native for iOS, JNI for Android, compile to JavaScript for Web
Haven't checked yet
6) Use Codename One for mobile and compile Java to JavaScript for Web
Haven't checked yet
And my questions:
Q1. Can you confirm for each above option if it can or can not be used for such an app
Q2. I specifically interested in Titanium (as already invested in it). I'm thinking of a native Android module with dummy Service that does nothing but asks Android to not kill its process where real Titanium service is running along side with an Activity.
Will it work?
Q3. Other options / general advice?
Thank you.
When we met the "super-duper" framework limitations I came with native knowledge: add a plugin for Phonegap learn how to link it, write for both platforms.
Titanium no experience, sorry. I don't think I would even open they page to read they hello word.
Back to your original task, just look again outside of your shoes ( as I would ask it and you should respond)
"The goal is to record and analyze GPS tracks:
I'd like to share "analyze" part between iOS, Android and Web AND to be able to run this code while iOS/Android app is backgrounded."
Suggestion 1: Just re-write the code in C / C++. Compile the .so Link with Android SDK / NDK and iOS.
Suggestion 2: "I have some "analyze" code written in JavaScript, so I started looking for options " Move the code to server side, where you will run a node.js and your existing code. Your apps will get a notification with result.
Suggestion 3: Write the real platform specific app finally and use the hardware + OS capabilities fully. The JavaScript purpose it is other then do hard maths.

Sencha app packaging to desktop application

I developed a sencha app and ported it to IOS and Android successfully.I need to build a desktop application from the same.I used sencha's packager and it was a success.Unfortunately it was a trial version.
I used Tide SDK but the sencha list UI is not perfect on scrolling.And store data is not getting sometime.
Can anyone suggest other opensource packagers to make my sencha app to desktop application.
Pls help me.I was looking this for long time.
Thanks in advance.
you can try intel's node-webkit, it is one of the other tools that people are switching to. it's open source.
https://github.com/rogerwang/node-webkit
Absolutely, try out Brackets shell. We use that to create desktop apps on Mac and Windows. The wiki explains how to build your apps nice and simple
https://github.com/adobe/brackets-shell
https://github.com/adobe/brackets-shell/wiki/Building-brackets-shell
have fun

Resources