How to have the OS launch applications at startup time? I am running Android 4.3 Jelly Bean on a Samsung Galaxy SIII.

I am trying to figure out how to configure applications such a Skype to start up automatically once the system has gone through the bootstrapping process, finished booting, and started up. I would like to be able to do this via an application that does not require my device to be rooted, if possible. When I look at the information related to Skype in the default Application Manager, I can see that the Skype application makes use of the "run at startup" permission, which means that it should be possible to configure this app to run at startup but I could not find a checkbox to do so on this screen, nor from the Skype application settings. A similar situation may take place with other apps as well.

This post deals with preventing apps from starting up, and mentions useful third-party appilcations such as Autorun Manager which seems to be maily concerned with blocking applications from starting and from restarting once killed, or at least this is what I gather from the app's description on the play store, and Autostarts which triggers which manages which apps are triggered by events.

So, here are my questions:


Why isn't there a preinstalled native Startup Manager app on android to control which apps are to start by default and which aren't?
If skype requires the "run at startup" permission, and there is no place in the OS or in the app to configure such app to start up automatically, then what does this permission achieve?


Thanks.
It really would be nice to have some startup manager shipping with the system, which lets the user decide what to start and what not. But that's not the case, it works a bit different:

Apps with the "run at startup" permission can register a "listener" for the BOOT_COMPLETED broadcast ­– which the system always issues on that event. This way they get notified of that event, and can decide to perform some action. That could be starting some background service which keeps running – but they could also do something little and then exit again.

IMHO Skype has an option to automatically log you in after boot, so you're available for incoming calls. AFAIR that's even the default behavior of the app. If there's no background service running for that, it might register for some cloud messaging then – which again would "wake it up" to deal with incoming calls. That way the app had no need to permanently run in background. Indeed the app also declares the com.google.android.c2dm.permission.RECEIVE permission (C2DM stands for "Cloud 2 Device Messaging", which now is GCM = Google Cloud Messaging), so this could be the explanation.



UPDATE:

Andrew T. confirmed this in the comments:


  I finally checked the Android manifest of Skype by opening its APK file (base.apk), and indeed there is com.skype.android.push.DeviceBootReceiver with intent filter android.intent.action.BOOT_COMPLETED. I didn't investigate what it's doing though. Also, I forgot that broadcast receiver is not listed under running process as John mentioned (I can confirm this being a developer). So, you're correct on your guess :)