Learn about known issues and apply workarounds for Hybrid Web Container (HWC) development for Windows Mobile.
Issue # | Description |
---|---|
RTC-300 | On Windows Mobile, calling a save or submit
action to a persisted cached password causes the Hybrid Web Container to
crash if the Hybrid Web Container was not registered to Unwired Server.
Workaround: Register the Windows Mobile device to Unwired Server before saving credential information to the device. |
RTC-236 | When a 2.1.3 or older client tries to
connect to a 2.2 or newer server using an invalid URL suffix (such as '/'),
the client receives an HTTP authentication challenge and the connection
fails. Workaround: Use a valid URL suffix when attempting to connect a 2.1.3 or older client to a 2.2 or newer server. |
RTC-222 | After loading Hybrid Web Container
JavaScript files (for example, datajs), a memory leak occurs.
Within a closure code, when adding a new window property that references an object, the object is not correctly identified as garbage collection (GC) after closing the Hybrid App. For example, the datajs-1.0.3.js file contains a code pattern:
(function (window, undefined) { if (!window.OData) { window.OData = {}; } var odata = window.OData; odata.defaultHttpClient = { request: function () { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } }; })(this); When exiting the Hybrid App, window.OData still occupies the memory. After the Hybrid App is opened and closed several times, an "Out of Memory" error occurs. Workaround: Manually release the
object. For example, add "window.OData = null;" in the hwc.close() function that is invoked when
exiting the Hybrid App. Add these lines in hwc.close() to avoid the memory
leak:
//datajs if (window.datajs) { window.ActiveXObject = window.oldActiveXObject; window.datajs = null; window.OData = null; window.oldActiveXObject = null; } //hwc window.CallbackSet = null; window._Picture = null; //cordova window.console = null; window.PhoneGap = null; window.Cordova = null; window.plugins = null; window.addEventListener = null; window.removeEventListener = null; On Windows Mobile, if you experience a memory leak under these conditions, restart the device. |
RTC-220 | In a page of the Hybrid App, the Save or Submit Hybrid App action fails to
save the credential information to the local store by providing only the
"credential cached user name" without a corresponding "credential cached
password."
Workaround: Use the hwc.saveLoginCredentials() JavaScript API to save the user name. |
RTC-197 | On Windows Mobile, when changing between
landscape and portrait orientation, the spinner disappears.
Workaround: None. |
RTC-171 | If a password is used for automatic device
registration using the hwc.saveSettings() API, the password is used only once and is
not saved in the Hybrid Web Container. Upon successful automatic registration, subsequent connections to the server uses the userid+deviceid+authcode combination (the password is not required). This is by design. Workaround: To save the password in the application, do so in the application code with the secured storage SUPStorage API. |
RTC-156 | On Windows Mobile 6.0, if you use the task
manager to end the Hybrid Web Container
process, you cannot restart the Hybrid Web Container.
Workaround: Do not end the Hybrid Web Container process on Windows Mobile 6.0. It works as expected on Windows Mobile 6.5. |
RTC-147 | On Windows Mobile, when using the Media
Cache function, hwc.MediaCache.getUrl(),
a large media resource, such as an image, may not appear correctly if the
user opens and closes the Hybrid App frequently. Workaround: None. |
RTC-115 | Cannot update prepackaged Hybrid
Apps. The version number of the new Hybrid App must be later than the current version number. Workaround: Edit the manifest.xml file to update the version number and repackage the Hybrid App files. |
RTC-93 | On Windows Mobile, the removeMenuItem() JavaScript API in API.js does not work. Workaround: None. |
RTC-90 | On all Hybrid Web Container device
platforms, when an expired certificate is used for device registration, the
error message is MMS Authentication Failed,
which does not indicate the root cause of the error.
Workaround: Make sure your certificate is not expired. |
RTC-88 | After changing the default Hybrid App in SAP Control Center, invoking the Hybrid Web Container on Windows Mobile devices does not
automatically open the new default Hybrid App.
Workaround: After changing the default Hybrid App in SAP Control Center, restart the device. |
RTC-73 | On all platforms, in manual registration
mode, after calling the hwc.saveSettings
API in hwc-api.js, the client cannot
connect to the server. Workaround: To connect to the server by manual registration, call the hwc.startClient API after the hwc.saveSettings invocation. |
RTC-52 | A Hybrid App fails to deploy to the device.
If the SAP Mobile Platform is installed in a cluster, and different paths are used on each application service node, the Hybrid App log may contain a message similar to Updated failed for Hybrid App item. SAP Mobile Platform currently assumes that application service nodes are installed in the same path on all the nodes in the cluster, that is, that all application server nodes are installed in the same path on all cluster nodes. It stores full paths in the database during Hybrid App package installation. When the client connects, it looks for those paths in the file system. If the node it is connecting to does not have one of those paths, you see the error. Workaround: Install SAP Mobile Platform using the same installation path for each node of the cluster. |
RTC-49 | On Windows Mobile devices and emulators,
Cordova cannot play audio files.
Workaround: None. |
CR-708173 | When the Hybrid Web Container tries to
retrieve data from the MBO package, an Invalid
application id <***> for package error appears. Workaround: In SAP Control Center, manually add an
application ID for the MBO package's application list.
|
CR-708122 | Native application on Windows Mobile device
receives an error, Can't find an Entry Point
'DLL_setMclCallbacks' in a PInvoke DLL 'CMessagingCLient.dll.
This can occur if a 2.1.2 (or older) version of the Hybrid Web Container (HWC) is installed on the same device as a native application using the Sybase Unwired Platform 2.1.3 libraries. The HWC and native applications share a common CMessagingCLient.dll. Workaround: In order for a 2.1.2 (or older) HWC and a 2.1.3 native app to coexist and both successfully run on the same Windows Mobile device, install only the 2.1.3 version of CMessagingCLient.dll, and load it into memory on the device. Before starting either version of the application, verify that older versions of that DLL are removed from the device. |
CR-705895 | After adding JavaScript code in the
customAfterMenuItemClick method to update the check box (using JQuery
Mobile) state on the screen, the checkbox fails to update. Workaround: When you use JavaScript to update the check box (using JQueryMobile) value, you must also add the refresh code. For example: Whole sample in "customAfterMenuItemClick" method of Custom.js function customAfterMenuItemClick(screen, menuItem) { if (screen === "Start" && menuItem === "setCheckbox") { var checkbox1 = document.getElementById('checkbox1'); checkbox1.checked = true; var checkbox2 = document.getElementById('checkbox2'); checkbox2.checked = false; if (isJQueryMobileLookAndFeel) { $("input[type='checkbox']").checkboxradio("refresh"); } } } |
CR-693381 | Cannot preview a selected picture On Windows
Mobile emulator. When using the imageElement.src = imageUri in the getPicture function, you cannot preview the selected image on the Windows Mobile emulator. This is because the HTML browser adds an unexpected prefix to the URI, so the Hybrid Web Container cannot find the file to which the URI refers. Workaround:
|
CR-688399 | On Windows Mobile devices, thumbnails do not
show properly if an image has a large size.. The root cause is that Internet Explorer cannot load a large image; try one of these solutions to address the image size: Workaround #1: Specify a small-sized image as the
thumbnail instead of using the original large image, for example:
<img src="default-thumbnail.jpg" width="120" height="120" id="Thumbnail" sup_static_options="true" name="Preview" alt="Preview"/> Workaround #2: Pass the width and
height as the parameters in the source of the image control, so the
container compresses the original image on the fly, for example:
<img src="default.jpg?width=120&height=120" width="120" height="120" id="Thumbnail" sup_static_options="true" name="Preview" alt="Preview"/> The width and height parameters are supported only on Windows Mobile and may cause display issues on other platforms. |
CR-686465 | Camera feature is supported on some device
simulators/emulators.
Workaround: Use a physical device. |
CR-680253 | Images do not appear correctly on mobile
devices. Hybrid Web Container/Workflow applications can display pictures from binary enterprise information system (EIS) data. But when a MBO developer drags and drops a table that contains an image field to create the MBO, the image field maps to a Binary datatype that has a length of approximately 3KB, which may not be large enough for the entire image. At runtime, the binary data of the image may be truncated in the cache database (CDB), and appear incorrectly on the device. Workaround: When creating the MBO, manually modify the length of the binary field to make sure it is large enough to hold the image binary data, or use the BigBinary datatype instead. |