Я сделал сервис Intent и разработал его таким образом, что он имеет возможность перезапускать себя, если его убивает ОС, но если он остановлен пользователем, он должен остановиться.Как остановить привязку локального целевого сервиса
Все было хорошо. Но проблема возникла, когда я попытался реализовать обработчик сообщений и методы привязки.
То, что я сделал
Моей единственной целью получала статус от службы (в моем случае этого намерения услуги) и обновить свои взгляды. Для этого я применил обработчик сообщений и начал привязывать службу.
Я связывание своей службы таким образом
//This is my interface to get specific call back in activity
mReceiver = new DownloadResultReceiver(new Handler());
mReceiver.setReceiver(ListSuitClass.this);
serviceIntent = new Intent(DownloadService.ALARM_SERVICE);
serviceIntent.setClass(ListClass.this, DownloadService.class);
serviceIntent.putExtra("receiver", mReceiver);
serviceIntent.putExtra("requestId", 101);
startService(serviceIntent);
}
if (!mIsBound) {
bindService(serviceIntent, mConnection, BIND_DEBUG_UNBIND);
mIsBound = true;
}
Проблема
Я хочу, чтобы остановить службу по кнопке остановки, Но остановить на некоторое время и начинает снова. Я не знаю, что я делаю неправильно, И что снова начинается сервис.
Пожалуйста, помогите мне в прекращении обслуживания.
Примечание: Я выполняю обслуживание в отдельном процессе.
Ваша догадка правильная, но этот код на кнопке на startService –
На самом деле позвольте мне рассказать вам небольшую историю, я загружаю изображения в службу. Я хочу запустить службу, когда пользователь нажимает кнопку загрузки изображений, я хочу, чтобы этот процесс запускался на службе, и пользователь может получить статус в указанной области. Он может видеть 3 из 10 загруженных изображений. и, таким образом, после запуска службы, стартовая сервисная кнопка должна измениться в службе останова. –
. Я сделал все, что угодно, и все работает, но когда я нажму кнопку остановки обслуживания, он снова начнет мой сервис. :(после остановки. –