Вопрос по android, service, background – Запуск фонового сервиса при включении Android

7

Мне нужно ВСЕГДА иметь фоновый сервис, который будет синхронизировать мое приложение для Android и сервер. Я знаю, как запустить его через мое приложение, но когда Android выключится, то фоновый сервис умрет.

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

Мне нужно добавить в стартовые программы Android мой фоновый сервис. Есть намеки?

Ваш Ответ

2   ответа
19

<action android:name="android.intent.action.BOOT_COMPLETED" />  для запуска службы при включении устройства.

ВAndroidManifest.xml:

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

Добавить разрешение в вашемAndroidManifest.xml как:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">
</uses-permission>

В части кодаBootBroadcastReceiver:

public class BootBroadcastReceiver extends BroadcastReceiver {     
    static final String ACTION = "android.intent.action.BOOT_COMPLETED";   
    @Override   
    public void onReceive(Context context, Intent intent) {   
        // BOOT_COMPLETED” start Service    
        if (intent.getAction().equals(ACTION)) {   
            //Service    
            Intent serviceIntent = new Intent(context, StartOnBootService.class);       
            context.startService(serviceIntent);   
        }   
    }    
}   

EDIT: если вы говорите о включении / выключении экрана устройства, то вам необходимо зарегистрироваться<action android:name="android.intent.action.USER_PRESENT" /> а также<action android:name="android.intent.action.SCREEN_ON" /> для запуска вашего сервиса, когда пользователь присутствует или экран включен.

какую ошибку вы получаете, можете ли вы отредактировать свой пост с ошибкой?
Я получаю сообщение об ошибке при включении мобильного телефона ... "Приложение вынуждено ...". Это не работает. Frion3L
3
(Even when the device turns off and then turns on..

ожение может запросить получение этого уведомления, запросив разрешение в своем манифесте:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">
</uses-permission>

http://blog.gregfiumara.com/archives/82

http://www.androidcompetencycenter.com/2009/06/start-service-at-boot/

Похожие вопросы