Details
-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: BridgeIt 1.0
-
Fix Version/s: BridgeIt 1.0
-
Component/s: Containers
-
Labels:None
-
Environment:Android
Description
While running my own GeoSpy location tracking app on both the iPhone and the Android phones, the Android device doesn't seem to resume push after switching to BridgeIt and back again. In my application I call:
function startGeoSpy(updateStrategy, duration) {
var geospyURL = "http://" + window.location.host + "/locate/location/geospy";
bridgeit.geoSpy('geospytracker', 'geoSpyCallback', {postURL: geospyURL, parameters: {strategy: updateStrategy, duration: duration, _jguid: getUID()}});
}
On the both devices, this will properly:
- trigger BridgeIt to send a request to the Location Service
- store the location and id information in the database
- make a push call
On the iPhone this works fine. On the Android device, when it returns to the browser, push is no longer functioning. The remote dev console for Chrome shows that the heartbeat has stopped and no notifications are coming in.
function startGeoSpy(updateStrategy, duration) {
var geospyURL = "http://" + window.location.host + "/locate/location/geospy";
bridgeit.geoSpy('geospytracker', 'geoSpyCallback', {postURL: geospyURL, parameters: {strategy: updateStrategy, duration: duration, _jguid: getUID()}});
}
On the both devices, this will properly:
- trigger BridgeIt to send a request to the Location Service
- store the location and id information in the database
- make a push call
On the iPhone this works fine. On the Android device, when it returns to the browser, push is no longer functioning. The remote dev console for Chrome shows that the heartbeat has stopped and no notifications are coming in.
Activity
Deryk Sinotte
created issue -
Ted Goddard
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Steve Maryka [ steve.maryka ] | Mircea Toma [ mircea.toma ] |
Ted Goddard
made changes -
Assignee | Mircea Toma [ mircea.toma ] | Ted Goddard [ ted.goddard ] |
Ted Goddard
made changes -
Assignee | Ted Goddard [ ted.goddard ] | Mircea Toma [ mircea.toma ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #38708 | Thu Oct 31 14:46:46 MDT 2013 | ted.goddard | do not clean up push listeners automatically on window close, instead rely on liveness detection ( |
Files Changed | ||||
MODIFY
/icepush/trunk/icepush/core/src/main/javascript/application.js
|
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
The BridgeIt demo currently contains:
window.addEventListener("pageShow", function ()
{ ice.push.connection.resumeConnection(); }, false);
window.addEventListener("pagehide", function ()
{ ice.push.connection.pauseConnection(); }, false);
This works on the iPhone, but the push connection is not being paused and resumed on android (likely because it does not support
pagehide and pageshow events). Further, Deryk's example does not contain the above code, so is likely working from the connection status detection (heartbeat not received).
One possibility is to resume the push connection in bridgeit.js since it can detect that the browser has been invoked.