アクティビティの create メソッドで次のコードを使用しています -
scheduleTaskExecutor = Executors.newScheduledThreadPool(5);
scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() {
public void run() {
Intent intent = new Intent("com.eample.one.services.action.check");
startService(intent);
}
}, 0, 5000, TimeUnit.MILLISECONDS);
ご覧のとおり、5 秒ごとにサービスを呼び出しています。
マニフェストでサービスを次のように宣言しました-
<service
android:name="com.eample.one.services.CheckService"
android:exported="false" >
<intent-filter>
<action android:name="com.eample.one.services.action.check" />
</intent-filter>
</service>
ScheduledExecutorService を宣言した同じアクティビティに、終了ボタンがあります。
それを押すと、次のように ScheduledExecutorService を停止しようとしました-
scheduleTaskExecutor.shutdownNow();
finish();
あるいは
scheduleTaskExecutor.shutdown();
finish();
もちろん、finish() はアクティビティを終了するためのものです。
しかし、問題は、そのボタンを押した後でも scheduleTaskExecutor が停止しないことです。
それはなぜですか?
あらゆる種類の助けをありがとう