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の使用、更新期間など)を変更したときにすべてを停止し、新しい値ですべてを再作成することです。
ありがとう、
ところで素晴らしいコード - クロスカントリーの旅を追跡するためにまさに私が欲しいもの:)