Лучший способ остановить привязку службы с ServiceConnection в деятельности в Android? - PullRequest
1 голос
/ 28 октября 2011

У меня есть Сервис, который связан в моей Деятельности с ServiceConnection. Служба запускается при создании Activity и останавливается в моем классе BroadcastReceiver и прекрасно работает. Теперь я хотел бы остановить Сервис после определенного периода. Попытка TimerTask в моем классе обслуживания, но, похоже, не работает правильно.

Любые предложения или решения будут любезно оценены.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 10 апреля 2012

Объявление статического в вашем приложении:

static Intent local_Intent;

При создании приложения назначьте новый Intent для службы и привязайте к local_Intent:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    local_Intent = new Intent(this, yourAppService.class);
}

Назначение local_Intent:запоминается, потому что local_Intent является статическим Когда вы хотите запустить службу в своем приложении

 startService(local_Intent);

Когда вы хотите остановить службу в своем приложении

 stopService(local_Intent);
0 голосов
/ 28 октября 2011

Таймер также рассматривается как независимый Thread.so. Контекст может быть изменен, когда вы пытаетесь остановить Service. Моим решением является получение службы Pid of Current и уничтожение службы с помощью Pid.android: атрибут процесса будет указан в androidmanifest.xml.

Process process = Runtime.getRuntime (). exec ("kill pid");InputStream is = process.getInputStream ();

этот код работает нормально.попробуйте один раз

...