LocationManager每分钟更新一次,消​​耗大量电池电量

时间:2011-05-01 04:30:22

标签: android

我有一些类似于以下内容的代码:

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);

这是接收者的清单条目:

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

大多数时候它工作正常,每15分钟更新一次。然而,有时它会每分钟更新一次,并消耗大量电池电量。我在这里做错了什么?

编辑:对于后台操作,是否不打算像这样使用LocationManager?

2 个答案:

答案 0 :(得分:1)

我使用了这里回答的技术:Best way to constantly monitor location

答案 1 :(得分:0)

您可以停止收听位置更新

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

你可能已经看过这篇文章了,如果你没有看到这个帖子

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