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: heatherlaine, Klaus, FourthWorld, robinmiller, kevinmiller

Post Reply
bangkok
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 804
Joined: Fri Aug 15, 2008 7:15 am

Need an Android "intent"

Post by bangkok » Mon Sep 24, 2018 10:56 am

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.

Post Reply

Return to “Developer Services Marketplace”