CREATE_PROFILE
Used to create a new DataWedge Profile on the device. If a Profile of the same name already exists on the device, the intent will fail. To create a Profile and configure its settings parameters, see SET_CONFIG. Zebra recommends that Profile names be unique, contain alpha-numeric characters, and be short in length to avoid possible import/export profile issues.
Function Prototype
Intent i = new Intent();
i.setAction("com.symbol.datawedge.api.ACTION");
i.putExtra("com.symbol.datawedge.api.CREATE_PROFILE", "");
Parameters
ACTION [String]: com.symbol.datawedge.api.ACTION
EXTRA_DATA [String]: com.symbol.datawedge.api.CREATE_PROFILE
String <value>: Name of Profile to be created
Result Codes
DataWedge returns the following error codes if the app includes the intent extras SEND_RESULT
and COMMAND_IDENTIFIER
to enable the app to get results using the DataWedge result intent mechanism. See Example, below.
- PROFILE_ALREADY_EXIST - FAILURE
- PROFILE_NAME_EMPTY - FAILURE
Also see the Result Codes guide for more information.
Return Values
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
private void createProfile() {
Intent i = new Intent();
i.setAction("com.symbol.datawedge.api.ACTION");
i.putExtra("com.symbol.datawedge.api.CREATE_PROFILE", profileName);
this.sendBroadcast(i);
}
Generate and receive results
Command and configuration intent parameters determine whether to send result codes (disabled by default). When using SEND_RESULT
, the COMMAND_IDENTIFIER
is used to match the result code with the originating intent. Sample usage of these parameters is shown below.
Note: Modify this generic code to match the API being used.
// send the intent
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("com.symbol.datawedge.api.CREATE_PROFILE", "Profile1");
// request and identify the result code
i.putExtra("SEND_RESULT","true");
i.putExtra("COMMAND_IDENTIFIER","123456789");
this.sendBroadcast(i);
// register to receive the result
public void onReceive(Context context, Intent intent){
String command = intent.getStringExtra("COMMAND");
String commandidentifier = intent.getStringExtra("COMMAND_IDENTIFIER");
String result = intent.getStringExtra("RESULT");
Bundle bundle = new Bundle();
String resultInfo = "";
if(intent.hasExtra("RESULT_INFO")){
bundle = intent.getBundleExtra("RESULT_INFO");
Set<String> keys = bundle.keySet();
for (String key: keys) {
resultInfo += key + ": "+bundle.getString(key) + "\n";
}
}
String text = "Command: "+command+"\n" +
"Result: " +result+"\n" +
"Result Info: " +resultInfo + "\n" +
"CID:"+commandidentifier;
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
};
Set/Get Result Codes
Command and configuration intent parameters determine whether to send result codes (disabled by default). When using SEND_RESULT
, the COMMAND_IDENTIFIER
is used to match the result code with the originating intent. Sample usage of these parameters is shown below.
Note: Modify this generic code to match the API being used.
// send the intent
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("com.symbol.datawedge.api.CREATE_PROFILE", "Profile1");
// request and identify the result code
i.putExtra("SEND_RESULT","true");
i.putExtra("COMMAND_IDENTIFIER","123456789");
this.sendBroadcast(i);
// register to receive the result
public void onReceive(Context context, Intent intent){
String command = intent.getStringExtra("COMMAND");
String commandidentifier = intent.getStringExtra("COMMAND_IDENTIFIER");
String result = intent.getStringExtra("RESULT");
Bundle bundle = new Bundle();
String resultInfo = "";
if(intent.hasExtra("RESULT_INFO")){
bundle = intent.getBundleExtra("RESULT_INFO");
Set<String> keys = bundle.keySet();
for (String key: keys) {
resultInfo += key + ": "+bundle.getString(key) + "\n";
}
}
String text = "Command: "+command+"\n" +
"Result: " +result+"\n" +
"Result Info: " +resultInfo + "\n" +
"CID:"+commandidentifier;
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
};
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