Я создаю приложение, в котором есть виджет и кнопка в виджете запускает IntentService.OnHandleIntent () запускает некоторый код и затем поднимает тост через обработчик.После того, как я нажимаю кнопку в виджете, я вижу тост и знаю, что onHandleIntent завершен.Но когда я смотрю в фоновые службы, я все еще вижу там свое приложение.
Как пользователь, я очень раздражаюсь, когда приложения всегда работают в фоновом режиме и тратят драгоценную оперативную память.Мой виджет не должен запускаться в фоновом режиме, потому что мой виджет не обновляется никогда (частота обновления в xml равна 0).
Так почему же служба все еще работает?Как я могу это остановить?
Код IntentService:
public class WidgetCheckService extends IntentService {
private int mAppWidgetId;
Handler mHandler = new Handler();
public SalaryWidgetCheckService(String name) {
super("laceService");
}
public SalaryWidgetCheckService() {
super("laceService");
}
@Override
protected void onHandleIntent(Intent intent) {
// Badass code
mHandler.post(new DisplayToast(getString(R.string.widget_service_check_in_success_toast_text).replace("LACE", lace)));
else mHandler.post(new DisplayToast(getString(R.string.widget_service_check_out_success_toast_text).replace("LACE", lace)));
}
private class DisplayToast implements Runnable{
String mText;
public DisplayToast(String text){
mText = text;
}
public void run(){
Toast.makeText(WidgetCheckService.this, mText, Toast.LENGTH_SHORT).show();
}
}
}
Спасибо, Elad.