ワークフローを列挙
デバイスで利用可能な ワークフロー入力 のリストを生成します。ワークフローがライセンス付与されているかどうかに関わらず、ワークフロー IDと名前を返します。
関数プロトタイプ
Intent intent = new Intent(); intent.setAction("com.symbol.datawedge.api.ACTION"); intent.putExtra("com.symbol.datawedge.api.ENUMERATE_WORKFLOWS", "");
パラメータ
ACTION [String]: "com.symbol.datawedge.api.ENUMERATE_WORKFLOWS"
戻り値
ワークフローの列挙リストは、ブロードキャスト インテント (com.symbol.datawedge.api.RESULT_ENUMERATE_WORKFLOWS) を介して返されます。ワークフローのリストは、文字列配列の arrayList<String> として返されます。
コード例
ブロードキャスト インテントを登録/登録解除してワークフローを列挙し、インテントを送信し、結果を取得するサンプル コード:
/*Call before sending the enumerate workflows query*/ private void registerReceivers() { IntentFilter filter = new IntentFilter(); filter.addAction("com.symbol.datawedge.api.RESULT_ACTION"); filter.addCategory(Intent.CATEGORY_DEFAULT); registerReceiver(broadcastReceiver, filter); } /* Send the enumerate workflows command to DataWedge intent API*/ private void enumerateWorkflows() { Intent intent = new Intent(); intent.setAction("com.symbol.datawedge.api.ACTION"); intent.putExtra("com.symbol.datawedge.api.ENUMERATE_WORKFLOWS", ""); sendBroadcast(intent); } /*unregister the broadcast receiver*/ private void unRegisterReceivers() { unregisterReceiver(broadcastReceiver); } /*Create broadcast receiver to receive the enumerate workflows result*/ private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.d("EnumerateWorkflows", "Action: " + action); if (action.equals("com.symbol.datawedge.api.RESULT_ACTION")) { if (intent.hasExtra("com.symbol.datawedge.api.RESULT_ENUMERATE_WORKFLOWS")) { Bundle workflowBundle = (Bundle) intent.getExtras().get("com.symbol.datawedge.api.RESULT_ENUMERATE_WORKFLOWS"); String strData = ""; int count = 1; ArrayList<String> workflowList = new ArrayList<>(); if (workflowBundle != null) { for (String key : workflowBundle.keySet()) { String value = workflowBundle.getString(key); if (value != null) { String listItem = count + ") " +key +" - "+ value; workflowList.add(listItem); strData += listItem + "\n"; count++; } } Log.d("EnumerateWorkflows",strData ); } } } } };
出力データの例:
/* workflowID - WorkflowName */ 1) tin_number - Tire Identification Number(TIN) 2) license_plate - License Plate 3) container_scanning - Shipping Container ID 4) free_form_ocr - Free - Form OCR 5) free_form_capture - Free - Form Image Capture 6) meter_reading - Meter 7) document_capture - Document Capture 8) id_scanning - Identification Documents 9) vin_number - Vehicle Identification Number(VIN)
関連項目:
Zebra Support Central | インテグレータ ガイド、製品マニュアル、ソフトウェア ダウンロードおよびサポート
開発者ポータル | Zebra 開発者コミュニティ
インテント | Android 開発者
インテントおよびインテント フィルタ | Android 開発者
Android インテント | チュートリアル