Jak uruchomić usługę na bootie?

Przeczytałem samouczek na temat uruchamiania usługi przy starcie. To co zrobiłem to:

W manifeście:

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

<receiver android:name="my.package.ServiceStartup" >
   <intent-filter>
       <action android:name="android.intent.action.BOOT_COMPLETED" />
   </intent-filter>
</receiver>

KOD:

public class ServiceStartup extends BroadcastReceiver {

    public void onReceive(Context context, Intent intent) {
        Handler h = new Handler();
        h.postDelayed(new Runnable() {
           @Override
           public void run() {
               Intent dialogIntent = new Intent(getBaseContext(), MyActivity.class);
               dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
               getApplication().startActivity(dialogIntent);
           }
        }, 10000);
    }
}

W ten sposób, jeśli ponownie uruchomię urządzenie i przejdę do ustawień w aktywnych aplikacjach, moja usługa nie zostanie uruchomiona. Co mogę zrobić? Gdzie popełniam błąd? dzięki!!

questionAnswers(2)

yourAnswerToTheQuestion