GET_SCANNER_STATUS
Introduced in DataWedge 6.5.
Returns the status of the scanner currently selected by DataWedge as the default.
Function Prototype
Intent i = new Intent();
i.setAction("com.symbol.datawedge.api.ACTION");
i.putExtra("com.symbol.datawedge.api.GET_SCANNER_STATUS", "");
Parameters
ACTION [String]: "com.symbol.datawedge.api.ACTION"
EXTRA_DATA [String]: "com.symbol.datawedge.api.GET_SCANNER_STATUS"
EXTRA VALUE: Empty string
Return Values
Returns a String of the name of the active DataWedge Profile
EXTRA NAME: "com.symbol.datawedge.api.RESULT_SCANNER_STATUS"
EXTRA TYPE [String]: [ ] Possible values:
- WAITING - Scanner is ready to be triggered
- SCANNING - Scanner is emitting a scanner beam
- DISABLED - Scanner is disabled
- CONNECTED - An external (Bluetooth or serial) scanner is connected
- DISCONNECTED - The external scanner is disconnected
Error and debug messages are logged to the Android logging system, which can be viewed and filtered by the logcat command. Use logcat from an ADB shell to view the log messages:
$ adb logcat -s DWAPI
Error messages are logged for invalid actions and parameters.
Example Code
Query Scanner Status
//Sending the intent to query scanner status
Intent i = new Intent();
i.setAction("com.symbol.datawedge.api.ACTION");
i.putExtra("com.symbol.datawedge.api.GET_SCANNER_STATUS","");
i.putExtra("SEND_RESULT","true");
i.putExtra("com.symbol.datawedge.api.RESULT_CATEGORY","android.intent.category.DEFAULT");
this.sendBroadcast(i);
Register to Receive Query Results
private void registerReceivers(){
IntentFilter filter = new IntentFilter();
filter.addAction("com.symbol.datawedge.api.RESULT_ACTION");
filter.addCategory(Intent.CATEGORY_DEFAULT);
registerReceiver(receiver,filter);
}
Receive Query Results
// Receiving the results
ResultIntentReceiver receiver = new ResultIntentReceiver();
class ResultIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.hasExtra("com.symbol.datawedge.api.RESULT_SCANNER_STATUS")) {
String scannerStatus = intent.getStringExtra("com.symbol.datawedge.api.RESULT_SCANNER_STATUS");
Log.d(TAG,"Scanner status:"+scannerStatus);
}
}
}
Unregister (to Release Resources)
private void unRegisterReceivers(){
unregisterReceiver(receiver);
}
SEE ALSO:
Zebra Support Central | Integrator Guides, Product Manuals, Software Downloads and Support
LaunchPad | Zebra Developer Community
Intent | Android Developers
Intents and Intent Filters | Android Developers
Android Intents | Tutorial