Android 从活动中停止IntentService
在这种情况下,我需要帮助:Android 从活动中停止IntentService,android,android-intent,intentservice,Android,Android Intent,Intentservice,在这种情况下,我需要帮助: 我有活动,什么启动了IntentService 服务人员在循环和睡眠时做一些工作 服务的主要周期是无止境的,所以我需要再次停止它的活动 我必须能够结束活动,再次启动它,并从活动的新“实例”停止IntentService public class MyService extends IntentService { public MyService() { super("MyService"); } public MyS
public class MyService extends IntentService {
public MyService()
{
super("MyService");
}
public MyService(String name) {
super(name);
}
@Override
protected void onHandleIntent(Intent intent) {
Log.d("SERVICE", "start");
while(true)
{
SystemClock.sleep(1000);
Log.d("SERVICE", "tick");
}
}
@Override
public void onDestroy() {
Log.d("SERVICE", "end");
super.onDestroy();
}
stopService()
,但它不起作用。有什么解决办法吗?
提前谢谢
服务人员在循环和睡眠时做一些工作
恕我直言,这是对IntentService
的不当使用。请使用您自己管理的后台线程创建一个常规的服务
有什么解决办法吗
创建一个常规的服务
,使用您自己管理的后台线程。例如,您可以使用ScheduledExecutorService
而不是sleep()
循环,在服务的ondestory()
中使用shutdownNow()或shutdownNow()
Intent intent = new Intent(getApplicationContext(), MyService.class);
startService(intent);