Get Scanner Status

DataWedge 14.1

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
  • IDLE - Scanner is in one of the following states: enabled but not yet in the waiting state, in the suspended state by an intent (e.g. SUSPEND_PLUGIN) or disabled due to the hardware trigger
  • DISABLED - Scanner is disabled
  • CONNECTED - An external (Bluetooth or serial) scanner is connected
  • DISCONNECTED - The external scanner is disconnected

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