У меня есть служба intentservice, которая автоматически запрашивается пользователем и моим приложением. Мне нужно иметь возможность убить все ожидающие намерения, которые запрашиваются, когда пользователь выходит из моего приложения, но я не могу заставить это работать. Я пробовал stopService () и stopself (), но намерения продолжают запускать intentservice после выхода пользователя из системы. Я бы попытался получить идентификатор намерения, но это сложно, так как каждый раз, когда служба intent запускается, переменная, содержащая идентификатор намерения, пуста. Вот мой код службы поддержки:
public class MainUploadIntentService extends IntentService {
private final String TAG = "MAINUPLOADINTSER";
private GMLHandsetApplication app = null;
private SimpleDateFormat sdf = null;
public boolean recStops = true;
public MainUploadIntentService() {
super("Main Upload Intent Service");
GMLHandsetApplication.writeToLogs(TAG,
"GMLMainUploadIntentService Constructor");
}
@Override
protected void onHandleIntent(Intent intent) {
GMLHandsetApplication.writeToLogs(TAG, "onHandleIntent Started");
if (app == null) {
app = (GMLHandsetApplication) getApplication();
}
uploadData(app);
GMLHandsetApplication.writeToLogs(TAG, "onHandleIntent Finished");
}
@Override
public void onDestroy() {
GMLHandsetApplication.writeToLogs(TAG, "onDestroy Started");
app = null;
stopSelf();
GMLHandsetApplication.writeToLogs(TAG, "onDestroy completed");
}
public void uploadData(GMLHandsetApplication appl) {
//All of my code that needs to be ran
}