我将 OMGStop() 方法修改为更像这样的方法:
public void cancelUpdates() {
//TODO potential bug here
if(pi == null)
setPendingIntent();
mgr.cancel(pi);
//Should one of these work?
stopService(new Intent(applicationContext, LocationPoller.class));
stopService(new Intent(applicationContext, LocationPollerService.class));
我将 pi (PendingIntent) 存储为我的活动类中的成员。这可以很好地从 AlarmManager 中删除 PendingIntent。
然而...
如果正在进行一项,我希望能够停止当前的位置调查。您当前的设计是否可行?我以为我可以停止服务,但 GPS 继续运行。
基本上,我要做的是在用户(我在旅途中)更改偏好(例如超时、使用 GPS 或更新周期)时停止一切。然后使用新值重新创建所有内容。
谢谢,
很棒的代码顺便说一句 - 正是我想要跟踪我的越野旅程:)