
Use content providers option allows applications to leverage DataWedge's content provider to retrieve scanned data from files larger than 500 KB, such as images, primarily with Signature Capture and NextGen SimulScan. If instead, the signature check was enabled for the original app, even though the new app shares the same package name, the signature is different and therefore the intent data cannnot be delivered to the malicious app. This results to the intent data being delivered to the malicious app.

If the signature check is not enabled, DataWedge sends the explicit intent based on the package name.įor example, if a package name is specified as '1' without the signature check, another app can be created with this same package name and disguised as the original - the original app can be uninstalled on the device and the new malicious app can be installed as the replacement. If the signature does not match, DataWedge does not send the intent. DataWedge matches the signature of the application before sending out the intent. Optionally, enabling the application signature check adds another level of security for intent delivery. When the package name is specified, DataWedge sends explicit intents only to the package name. If using the DataWedge content provider, only the specified package names can query the content provider. This adds a level of security to guarantee that data is delivered only to the intended applications. Once these values are known, DataWedge Intent Output must be set to match.Ĭomponent Information specifies the package names and signatures of the applications that are designated to receive intent data. When combined, these two values are like a "channel" to which an app can listen for intents that use the same combination, filtering out "noise" from other intents that use different value pairs.

See the Single Decode Mode section below.ĭataWedge invokes an intent though an Intent action in an Intent category as described in its AndroidManifest.xml file. Raw data is received as a byte stream using the _data intent extra. This can be useful if custom encoders are needed for acquiring character sets not supported by Zebra. In addition to its normal plain-text and hexadecimal modes, DataWedge can output acquired data in its raw form, before the application of any encoders. the intent action in the Intent Output configuration would be: A component can have any number of intent filters, each describing a different capability.įor example, if the manifest contains.

Since the system must learn which intents a component can handle before it launches the component, intent filters are specified in the app's AndroidManifest.xml file as elements. When an intent is initiated, Android locates an appropriate component to respond to the intent, launches a new instance of the component (if needed), and passes the intent object to it.Ĭomponents advertise their capabilities (the kinds of intents they can respond to) through intent filters. It includes the data to be acted upon, the category of component that should perform the action and other pertinent data and/or instructions. The Intent ObjectĪn intent object is a bundle of information that describes a desired action.

The core components of an application (its activities, services and broadcast receivers) also can be activated by intents, as can many DataWedge features through the DataWedge APIs. This allows acquired data to be passed programmatically to an application, where it can be consumed or further processed. Intent Output allows data acquired and processed by DataWedge to be sent to the associated foreground application as payload within an Android intent object.
