开发者

LocationManager updates every minute, consuming a lot of battery power

开发者 https://www.devze.com 2023-03-01 15:55 出处:网络
I\'ve got some code similar to the following: LocationManager m = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);

I've got some code similar to the following:

LocationManager m = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
Criteria c = new Criteria();
c.setAccuracy(Criteria.ACCURACY_COARSE);
String provider = m.getBestProvider(c, true);
Intent i = new Intent(context, LocationReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);

m.requestLocationUpdates(provider, 900000, 开发者_开发问答0, pi);

Here is the manifest entry for the receiver:

<receiver android:name=".LocationReceiver" />

Most of the time it works fine, and updates every 15 minutes. Sometimes, however, it updates every minute, and consumes a bunch of battery power. What am I doing wrong here?

Edit: Is the LocationManager not meant to be used like this for background operations?


I used the technique answered here: Best way to constantly monitor location


You can stop listening for location updates

// Remove the listener you previously added
m.removeUpdates(locationListener);

Probably you have seen this post, in case of you did not it is told here

http://developer.android.com/guide/topics/location/obtaining-user-location.html

0

精彩评论

暂无评论...
验证码 换一张
取 消