2010-12-16 2 views
0

У меня есть служба для связи с сервером для периодической передачи данных из моего приложения. Его работа прекрасна.Поиск моей службы запущен или нет в Android?

Но когда я перезапустил (выключить и выключить) мой телефон, сервис не может быть перезапущен. поэтому моя идея состоит в том, чтобы снова запустить эту услугу, когда пользователь открывает мое приложение после перезагрузки телефона. Для этого я должен знать, что моя служба работает или нет? как это сделать?

Любая другая идея справиться с этим сценарием также благодарна.

Заранее спасибо.

ответ

1

Вам нужна реализация BroadcastReceiver, которая предназначена для действий BOOT_COMPLETED. Как это:

public class OnStartReceiver extends BroadcastReceiver { 


    @Override 
    public void onReceive(Context context, Intent intent) { 
//  your starting service code here 
    } 

} 

Кроме того, вы должны добавить receiver тег в файл манифеста с android:name = вашим полным названием OnStartReceiver и намеренный фильтр тегов вложены с BOOT_COMPLETED, как умыслом имени, например:

<receiver android:name=".onStartReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED"/>      
    </intent-filter> 

0

Создайте BroadcastReceiver, чтобы прослушать событие ACTION_BOOT_COMPLETED. Подробнее here.

0

Использовать AlarmManager для запланированных задач, подобных этому, поэтому ваш сервис не обязательно должен находиться в памяти все время. Как указывает г-н Рибери, используйте BroadcastReceiver с ACTION_BOOT_COMPLETED, чтобы перенастроить задачи после перезагрузки телефона.

Смежные вопросы