2010-11-22 2 views
1

Можно ли закончить() использовать для закрытия активности из службы? Если нет, то каков правильный способ прекратить действие с Сервиса? Я создал активность из своего сервиса и должен закрыть его.Каков правильный способ закрытия Activity из службы?

+0

Обязательно ли это? Деятельность - сбор мусора, необходимый ОС. – 2010-11-22 15:14:11

ответ

1

Можно закончить() использовать для закрытия активности услуга?

Непосредственно. Сервис действительно действительно действительно не должен иметь ссылку на деятельность, на которую можно позвонить finish().

Я создал мероприятие из своего сервиса и должен его закрыть.

Коэффициенты: вы не должны начинать деятельность со службы в первую очередь. Пользователи будут атаковать вас топорами, если они чувствуют, что вы прерываете их без необходимости.

Если нет, то каков правильный способ прекратить действие службы?

Предпочтительно, чтобы пользователь мог закрыть действие. Те пользователи, которые не атакуют вас топорами, чтобы прервать их, выталкивая активность, нападут на вас с помощью клубов, чтобы прервать их, избавившись от этой активности во время ее использования.

Помимо этого, используйте Messenger или что-то, чтобы отправить сообщение от службы в действие, и пусть действие обрабатывает это по желанию в Handler, которое может включать вызов finish().

0

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

@Override 
public void onDestroy() { 
    Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show(); 
    Log.d(TAG, "onDestroy"); 
} 

И в основной деятельности:

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    Log.d(logTag,"onDestroy"); 
} 

Как деятельность может быть начата:

@Override 
public void onStart(Intent intent, int startid) { 
    Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show(); 
    Log.d(TAG, "onStart"); 
    super.onStart(intent, startid); 
} 
+0

Спасибо. Как я могу назвать это из Сервиса? Я начал свою деятельность с намерением воспользоваться этой услугой. – Ryan 2010-11-22 15:28:48