2016-03-03 12 views
0

Я новичок на android. У меня есть приложение для Android. Служба должна запускаться после запуска/перезагрузки устройства/загрузки. Но служба не запускается без запуска пользователем приложений. После первого запуска приложения служба запускается правильно при каждой перезагрузке/запуске/загрузке.Как запустить службу Android без запуска приложения?

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

Вот служба регистрации в файле манифеста приложения:

 <receiver android:name="com.example.ota_file.StartUpBootReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      </intent-filter> 
     </receiver> 

Вот код услуги:

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.widget.Toast; 

public class StartUpBootReceiver extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
     if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) { 

      //TO DO 
     } 
    } 
} 

Спасибо.

+0

См. [Это сообщение в блоге] (https://commonsware.com/blog/2011/07/05/boot-completed-regression.html) и [это сообщение в блоге] (https://commonsware.com/blog /2011/07/13/boot-completed-regression-confirmed.html) с июля 2011 года, когда это было введено. – CommonsWare

+0

У вас есть разрешение в вашем манифесте? –

ответ

1

Это изменение безопасности, внесенное Google в 2.x дней. Если активность приложения не запускается хотя бы один раз, никакие широковещательные приемники не будут запускаться, включая BOOT_COMPLETE. Вокруг этого нет никакого способа, приложение должно иметь хотя бы один раз действие активности, которое должно быть удалено из состояния остановки.

+0

Собственно, это был Android 3.1. – CommonsWare

+0

Я стою исправлены. В принципе давным-давно :) –

+0

Хорошо. Как насчет системных приложений? Это приложение будет системным приложением. – huseyind

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