Попытка запустить сервис на начальную загрузку на Android

Я пытался запустить сервис, когда устройство загружается на андроиде, но я не могу заставить это работать. Я посмотрел на многие ссылки онлайн, но ни одну из работ кода. Я забываю что-то?

AndroidManifest.xml

<receiver
    android:name=".StartServiceAtBootReceiver"
    android:enabled="true"
    android:exported="false"
    android:label="StartServiceAtBootReceiver" >
    <intent-filter>
        <action android:name="android.intent.action._BOOT_COMPLETED" />
    </intent-filter>
</receiver>

<service
    android:name="com.test.RunService"
    android:enabled="true" />

BroadcastReceiver

public void onReceive(Context context, Intent intent) {
    if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
        Intent serviceLauncher = new Intent(context, RunService.class);
        context.startService(serviceLauncher);
        Log.v("TEST", "Service loaded at start");
    }
}
327
задан CopsOnRoad 11 March 2018 в 21:44
поделиться

2 ответа

У меня есть дополнительный -tag, не знаю, имеет ли это какое-либо значение.

<receiver android:name="BootIntentReceiver">  
        <intent-filter>  
            <action android:name="android.intent.action.BOOT_COMPLETED" />  
            <category android:name="android.intent.category.HOME" />  
        </intent-filter>  
</receiver>

Пробовали ли вы опустить условие if "android.intent.action.BOOT_COMPLETED".equals(intent.getAction(), поскольку приемник, вероятно, все равно получает только это намерение?

.
5
ответ дан 23 November 2019 в 00:49
поделиться

Думаю, в ваш манифест нужно добавить:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
12
ответ дан 23 November 2019 в 00:49
поделиться
Другие вопросы по тегам:

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