Android開発で新しくなったHandler.nowでバックグラウンドサービスを開始します。サービスを停止したいが、サービスはHandlerや他のクラスからは停止しません。 は以下のコードです。 - 以下は、サービス開始と停止を試みるハンドラです。Androidでハンドラを使用したサービスを停止できません
mHandler = new Handler();
mRunnable = new Runnable() {
@Override
public void run() {
Log.e("mTrackStatus",String.valueOf(mTrackStatus));
if (mTrackStatus == 1) {
Log.e("BACKGROUND=", "background Service Start");
//handler will call after every 10 seconds
context.startService(new Intent(context, BackgroundService.class));
mHandler.postDelayed(mRunnable, 10000);
} else if (mTrackStatus == 2) {
Log.d("StopTracking", "StopTracking");
context.stopService(new Intent(context, BackgroundService.class));
mHandler.removeCallbacks(mRunnable);
}
}
};
// mHandler.postDelayed(mRunnable, 10000);
mRunnable.run();
私はロトの 1.context.stopService(新しいテント(文脈、BackgroundService.class))のようなメソッドのを試してみました。およびstopSelf();しかし、それは私のために動作しません
mTrackStatusとは何ですか? –
mTrackStatusは、Web APIからのトラックステータスを格納するための変数です。これに対応するサービスは停止していますが、動作しません。 –
これは、mTrackStatusの状態を削除しようとしています。サービスを停止し、成功した場合は必要なときにmTrackStatusを更新してください。 –