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

Reply
Developer
skynetchris
Posts: 39
Registered: ‎07-18-2008
My Device: Not Specified
Accepted Solution

Location provider explanation.

Hi guys,

 

when using location provider I've been doing the following:

_locationProvider.setLocationListener(new LocationListenerImpl(), 300, 15, 10);

My question is to do with the passed variables:

int interval, int timeout, int maxAge

 

Interval is set at 300 seconds, does this mean the Location provider 'wakes up' after five minutes and gets a single position report, or is it constantly updating?

 

Timeout, this is the time in seconds the GPS chip has to get a report after five minutes? Max age, this should be OLDER than timeout? because if timeout is 15 (meaning the GPS chip COULD get a report in the first 4 seconds) and the maxAge is 10 (anything older than 10 seconds is discarded) a location recieved in the first 4 seconds would be ignored?

Please use plain text.
Administrator
MSohm
Posts: 14,229
Registered: ‎07-09-2008
My Device: BlackBerry Z30, BlackBerry PlayBook
My Carrier: Bell

Re: Location provider explanation.

Here is how it is explained in the JavaDocs.  Let us know if you have any further questions about this. 

 

The listener will be called with updated location at the defined interval. The listener also gets updates when the availablilty state of the LocationProvider changes.  Updates can be made faster than the interval.  If the specified update interval is smaller than the time it takes to obtain the first result, the listener shall receive location updates with invalid Locations at the defined interval until the first location result is available.

 

The timeout parameter determines a timeout that is used if it's not possible to obtain a new location result when the update is scheduled to be provided. This timeout value indicates how many seconds the update is allowed to be provided late compared to the defined interval. If it's not possible to get a new location result (interval + timeout) seconds after the previous update, the update will be made and an invalid Location instance is returned. This is also done if the reason for the inability to obtain a new location result is due to the provider being temporarily unavailable or out of service. For example, if the interval is 60 seconds and the timeout is 10 seconds, the update must be delivered at most 70 seconds after the previous update and if no new location result is available by that time the update will be made with an invalid Location instance. 
 

The maxAge parameter defines how old the location result is allowed to be provided when the update is made. This allows the implementation to reuse location results if it has a recent location result when the update is due to be delivered. This parameter can only be used to indicate a larger value than the normal time of obtaining a location result by a location method. The normal time of obtaining the location result means the time it takes normally to obtain the result when a request is made. If the application specifies a time value that is less than what can be realized with the used location method, the implementation shall provide as recent location results as are possible with the used location method. For example, if the interval is 60 seconds, the maxAge is 20 seconds and normal time to obtain the result is 10 seconds, the implementation would normally start obtaining the result 50 seconds after the previous update. If there is a location result otherwise available that is more recent than 40 seconds after the previous update, then the maxAge setting to 20 seconds allows to return this result and not start obtaining a new one.
 
 
 

Mark Sohm
BlackBerry Development Advisor

Please refrain from posting new questions in solved threads.
Problem solved? Click the Accept As Solution button.
Found a bug? Report it using Issue Tracker
Please use plain text.
Developer
skynetchris
Posts: 39
Registered: ‎07-18-2008
My Device: Not Specified

Re: Location provider explanation.


MSohm wrote:

Here is how it is explained in the JavaDocs.  Let us know if you have any further questions about this. 

 


I've read the javadoc, this doesn't help.

Please use plain text.
Developer
skynetchris
Posts: 39
Registered: ‎07-18-2008
My Device: Not Specified

Re: Location provider explanation.

To anwer my own question:


With this it is possible to define the following

parameters: the interval (in seconds) at which the application wants to receive events; the timeout

value, which indicates how late (in seconds) an update is allowed to be in comparison to the defined

interval; the maxage value, which defines how old the location update value is allowed to be.


 

Please use plain text.