I have a Zebra TC20, which is an Android 7 terminal with an integrated barcode scanner.
https://www.zebra.com/us/en/products/mo ... /tc20.html
I need to use an Android "intent" system in order for my Android App to received the data scanned, without using the regular way (keyboard emulation -> data are sent into a field -native or LC-, with focus).
The TC20 has a documentation for this "intent" (page 82) :
https://www.ptsmobile.com/zebra/tc20/tc ... -guide.pdf
Here is the text :
Intent Overview
The core components of an Android application (its activities, services, and broadcast receivers) are activated by intents. An intent is a bundle of information (an Intent object) describing a desired action - including the data to be acted upon, the category of component that should perform the action, and other pertinent instructions. Android locates an appropriate component to respond to the intent, launches a new instance of the component if one is needed, and passes it the Intent object.
Components advertise their capabilities, the kinds of intents they can respond to, through intent filters. Since the system must learn which intents a component can handle before it launches the component, intent filters are specified in the manifest as <intent-filter> elements. A component may have any number of filters, each one describing a different capability. For example, if the manifest contains the following:
<intent-filter . . . >
<action android:name=”android.intent.action.DEFAULT” />
<category android:name=”android.intent.category.MAIN” />
</intent-filter>
In the Intent output plug-in configuration, the Intent action would be:
android.intent.category.DEFAULT
and the Intent category would be:
android.intent.category.MAIN.
The Intent delivery option allows the method by which the intent is delivered to be specified. The delivery
mechanisms are Send via startActivity, Send via startService or Broadcast intent.
The decode related data added to the Intent’s bundle can be retrieved using the Intent.getStringExtra() and
Intent.getSerializableExtra() calls, using the following String tags:
• String LABEL_TYPE_TAG = “com.symbol.emdk.datawedge.label_type”;
• String contains the label type of the bar code.
• String DATA_STRING_TAG = “com.symbol.emdk.datawedge.data_string”;
• String contains the output data as a String. In the case of concatenated bar codes, the decode data is
concatenated and sent out as a single string.
• String DECODE_DATA_TAG = “com.symbol.emdk.datawedge.decode_data”;
• Decode data is returned as a list of byte arrays. In most cases there will be one byte array per decode.
For bar code symbologies that support concatenation e.g. Codabar, Code128, MicroPDF, etc., the
decoded data is stored in multiple byte arrays (one byte array per bar code). Clients can get data in
each byte array by passing an index.
Most scanning applications might want the user to be able to decode data and for that decode data to be sent to the *current* activity but not necessarily displayed. If this is the case, then the activity needs to be marked as ‘singleTop’ in its AndroidManifest.xml file. If your activity is not defined as singleTop, then on every decode, the system will create another copy of your Activity and send the decode data to this second copy.
***********************
Is that something feasible, through an "external" for LiveCode ?
Someone could do it ? If interested, private email please.
Need an Android "intent"
This is the place to offer or seek development services - offer to build apps for others or find a developer to work for you
Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller
Return to “Developer Services Marketplace”
Jump to
- LiveCode Community
- ↳ Announcements
- ↳ Developer Services Marketplace
- ↳ User Groups and Events
- ↳ SoCal LiveCode Group
- ↳ Greater Toronto Area LiveCode Users Group
- ↳ Off-Topic
- ↳ Made With LiveCode
- Getting Started With LiveCode
- ↳ Getting Started with LiveCode - Complete Beginners
- ↳ Getting Started with LiveCode - Experienced Developers
- ↳ Converting to LiveCode
- ↳ App Building Course
- ↳ Simple Messages
- ↳ Calculator
- ↳ Notes
- ↳ Clock
- ↳ Web Browser
- ↳ Weather
- ↳ Compass
- ↳ Photos
- Developing With LiveCode
- ↳ Talking LiveCode
- ↳ Databases
- ↳ Games
- ↳ Internet
- ↳ Multimedia
- ↳ Software Engineering
- ↳ Version Control
- ↳ Feature Proposals
- ↳ Bug Triage
- ↳ Legacy Project: MetaCard
- Extending LiveCode
- ↳ Using Plugins for Customizing the LiveCode IDE
- ↳ Using Externals
- ↳ Making IDE Plugins
- ↳ Building Externals
- ↳ LiveCode Builder
- Platform Specific
- ↳ Windows
- ↳ Mac OS
- ↳ Linux
- ↳ iOS Deployment
- ↳ Android Deployment
- ↳ CGIs and the Server
- ↳ HTML5
- ↳ Raspberry Pi
- Academic Endeavors
- ↳ Teaching with LiveCode
- ↳ Research and Post Secondary
- ↳ LiveCode University
- ↳ Educational Outreach
- Livecode Open Source Archived Forum- closed to posting
- ↳ Engine Contributors
- ↳ IDE Contributors
- ↳ Documentation and Tutorials
- ↳ Brainstorms
- ↳ Community Projects
- ↳ rIDE
- Third Party Extension Support
- ↳ Marketing Your Products
- ↳ Animation Engine
- ↳ chartsEngine
- ↳ MobGUI
- ↳ lcTaskList
- ↳ SQL Yoga
- ↳ MergEXT
- ↳ Data Grid Helper
- ↳ idea2app and Coding School
- ↳ Admin Archive
- LiveCode Hosting
- Forum Archives
- ↳ Archived: Third Party Extension Support
- ↳ rTree
- ↳ rGrid
- ↳ Data Tree
- ↳ Archived: LiveCode Open Source
- ↳ LiveCode Global Jam
- ↳ Testing Support
- ↳ Archived: Academic Endeavors
- ↳ September Academy
- ↳ Summer School 2013
- ↳ Archived: Project Specific
- ↳ Business and Kiosks
- ↳ Digital Art and Portfolios