Overview
Enterprise Browser 1.7 (and higher) for Android includes ButtonBar APIs, which can deliver custom features and functions through on-screen buttons or keys. Functions can include simple actions such as launching an app or activity, sending an intent or virtually any action that can be executed using JavaScript.
Customization Guides:
The 10 new ButtonBar APIs can be used to:
- Deliver a rich GUI more like native Android apps
- Access enterprise features through JavaScript APIs
- Implement key-press features missing after Windows Mobile/CE migration
- Enhance existing keyboards with additional app functions
- Customize a key layout based on screen size
- Reduce or enlarge key size based on the app or screen
- Eliminate least-used keys and/or emphasize most-used ones
- Optimize keyboard orientation (portrait/landscape) based on app, page and/or device
- Change the opacity of the keyboard
- Add functions to existing apps without changing the server-side source code
- Add data capture and/or keyboard features to SAP apps without changes to source
This feature applies only to devices running Android KitKat and higher.
How it Works
The settings, parameters, actions and attributes of the desired on-screen button(s) are stored in an XML container called Button.xml
. If any of those buttons are to execute JavaScript, the JavaScript code is contained in a second file called CustomScript.xml
. Both files are stored on the device, and their paths specified in corresponding tags in the app's Config.xml
file.
ButtonBars can be shown and hidden programmatically as required by an app's pages through methods implemented in one of 10 ButtonBar APIs currently supported. Enterprise Browser can send API calls by any of the means listed below, which can be used in any combination.
Call EB APIs using:
- JavaScript objects
- ActiveX objects
- HTML meta tags
- The <DefaultMetaTags> setting in the
Config.xml
file - DOM Injection
Button.xml Path
The <buttonxmlfile> tag specifies the location of button.xml
in an app's Config.xml
file, which contains the majority of its runtime settings. Note: This tag is not included in the default Config.xml
file and must be added as shown below. Enterprise Browser will read the button.xml
file if present in the specified folder each time the app launches. For more information, see the <buttonxmlfile> path tag in Config.xml
reference.
Possible Values:
- Fully qualified path and file name
- Substitution variable representing the fully qualified path
- Supports any valid internal or external storage device
- Default path: "file://%INSTALLDIR%/button.xml" (Enterprise Browser installation folder)
Example
<Configuration>
...
<FileLocations>
<buttonxmlfile value="file://%INSTALLDIR%/button.xml"/>
</FileLocations>
...
</Configuration>
CustomScript.xml Path
The <customxmlfile> tag specifies the location of CustomScript.xml
in an app's Config.xml
file, which contains the majority of its runtime settings. Note: This tag is not included in the default Config.xml
file and must be added as shown below. Enterprise Browser will read the CustomScript.xml
file if present in the specified folder each time the app launches. For more information, see the <customxmlfile> path tag in Config.xml
reference.
Possible Values:
- Fully qualified path and file name
- Substitution variable representing the fully qualified path
- Supports any valid internal or external storage device
- Default path: "file://%INSTALLDIR%/CustomScript.xml" (Enterprise Browser installation folder)
Example
<Configuration>
...
<FileLocations>
<customxmlfile value="file://%INSTALLDIR%/CustomScript.xml"/>
</FileLocations>
...
</Configuration>
Related Guides:
- <buttonxmlfile> path tag in
Config.xml
- <customxmlfile> path tag in
Config.xml
- ButtonBar APIs
- Button.xml Guide
- CustomScript.xml Guide