Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Manage simultaneous GPS and phone usage on the BlackBerry 8703e and 7130e smartphones

by BlackBerry Development Advisor ‎02-16-2010 04:23 PM - edited ‎09-16-2010 03:20 PM (2,499 Views)

Summary

 

This article applies to the following:

  • BlackBerry® 8703e smartphone
  • BlackBerry® 7130e smartphone

Details

 

The BlackBerry 8703e and 7130e smartphones both include Global Positioning System (GPS) functionality that can be used by BlackBerry smartphone users and BlackBerry smartphone applications on most wireless networks. The limitation of this GPS functionality is that with the BlackBerry 8703e and 7130e smartphones, the chipset cannot process a GPS fix and phone audio at the same time. Given this limitation, to allow for a location to be retrieved during a 911 emergency call, GPS fixes are given priority over the phone application. Therefore, when an application is requesting a GPS fix during a phone call, the audio will be suspended for the duration of the GPS fix.

 

For the purpose of an emergency response application, getting a GPS fix during a call is necessary and can be done. If possible, alert the BlackBerry smartphone user that the call is still connected but there will be a gap in the audio while a GPS fix is being acquired.

 

To avoid degrading phone quality, it is recommended that you have your application briefly terminate GPS functionality when a phone call is received. Once the phone call is complete, the application can resume GPS functionality.

 

To detect when a phone call is received and when it is complete, register a PhoneListener and respond to the callAnswered() and callDisconnected() events. To interrupt the current GPS fix, call LocationProvider.reset(). To prevent future GPS fixes, either avoid making calls to LocationProvider.getLocation() or if using a LocationListener, set the listener to null.

 

Example

 

 

public class MyPhoneListener extends AbstractPhoneListener {
public void callAnswered(int callId) {
//reset the LocationProvider and null out the LocationListener
myLocationProvider.reset();
myLocationProvider.setLocationListener(null, -1, -1, -1);
}
public void callDisconnected(int callId) {
//resume GPS fixes.
}
}

 

 

Contributors
Users Online
Currently online: 18 members 2,777 guests
Please welcome our newest community members: