×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:MIDlet cannot power down GPS module with an existing satellite fix (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search
Forum Nokia KB (Talk | contribs)
hamishwillee (Talk | contribs)
m (Move to correct Category:Location)
Line 1: Line 1:
[[Category:Java ME]][[Category:Location API (JSR-179)]][[Category:Location Based Services]][[Category:GPS]][[Category:Known Issue]]
+
[[Category:Java ME]][[Category:Location]]
 
__NOTOC__
 
__NOTOC__
 
__NOEDITSECTION__
 
__NOEDITSECTION__
Line 12: Line 12:
 
|-
 
|-
 
|'''Category''' ||Java ME 
 
|'''Category''' ||Java ME 
|'''Subcategory''' ||Location API 
+
|'''Subcategory''' ||Location
 
|}
 
|}
  
Line 66: Line 66:
  
 
Exiting the MIDlet results in improved battery level.
 
Exiting the MIDlet results in improved battery level.
 +
 +
[[Category:Location API (JSR-179)]]
 +
[[Category:GPS]][[Category:Known Issue]]

Revision as of 01:56, 18 March 2011

Template:KBKI

ID KIJ000875 Creation date April 2, 2008; updated December 28, 2009 
Platform S60 3rd Edition, Feature Pack 1  Devices Nokia E90 Communicator, Nokia 6110 Navigator 
Category Java ME  Subcategory Location

Overview

When using Location API's (JSR-179) methods to get a proper provider, it is not possible to stop GPS module location activity if there is a GPS satellite fix, resulting in reduced battery life.

Description

Location API's getInstance(Criteria criteria) method selects the location provider based on the defined criteria, where the value null indicates the least restrictive criteria with default values.

Example usage for acquiring location provider information with JSR-179:

..
LocationProvider locProvider;
.. 
locProvider = LocationProvider.getInstance(null);
locProvider.setLocationListener(this, -1, 0, 0); //setting listener for LocationProvider updates

When acquiring location provider information as defined above, the Location API does not stop GPS module location activity if there is a GPS satellite fix. When the location listener is stopped and the location provider is reset, the actual receiver does not stop and it does not power down (regardless of whether the satellite fix continues to be available or not):

locProvider.setLocationListener(null, -1, 0, 0); // setting registered listener cancelled   
locProvider.reset();  // resetting LocationProvider by aborting all pending synchronous requests

As a result, battery life is reduced to below 10 hours.

How to reproduce

Download and install Nokia Energy Profiler.

Implement a test MIDlet using this source code.


Procedures:

1. Launch Nokia Energy Profiler. From Options, choose Start to begin measurement and check the initial battery level in the top right corner.

2. Leave Nokia Energy Profiler running and exit it by pressing the Menu key.

3. Launch the test MIDlet. The MIDlet starts searching for a fix. After a fix has been found, press Stop GPS. Leave the MIDlet running and exit it by pressing the Menu key.

4. Resume to the Nokia Energy Profiler and check the battery level. It is now reduced to below 10 hours.

5. Repeat step 2.

6. Resume to the running MIDlet and close it by pressing Exit.

7. Repeat step 4. The battery level will be slowly resumed. Close the Profiler by pressing Exit. Relaunch the Profiler and start the measurement again to view the improved battery level.


Solution

Exiting the MIDlet results in improved battery level.

70 page views in the last 30 days.
×