2

I am using the market app Startup Manager on Android, but I am a little bit concerned in the way that it operates. Is it effectively runnning every time as a daemon and thusly keeping the apps from not starting or does it simply change the bootable flag in the apps, without running in the background?

  • Could you please include a link to the app in question? Not that we talk about different things here. Different apps handle that differently. – Izzy Oct 22 '13 at 14:30
  • play.google.com/store/apps/… – polyglot Oct 22 '13 at 14:37
  • I could be superimposing Linux too much onto Android here, but I would think that this app is simply modifying Android's init files. elinux.org/Android_Booting#.27init.27 – dotVezz Oct 22 '13 at 14:48
  • @dotVezz is it just init.d or does it actually set a boolean flag on every app that is disabling? There is an android.intent.action.BOOT_COMPLETED on each app. – polyglot Oct 22 '13 at 15:01
  • You've taught me something here! So yeah, if the apps are using that, then my assumption about init.d is wrong. In that case, I'm wondering how it would keep them from booting. I wonder if it's somehow blocking/revoking android.permission.RECEIVE_BOOT_COMPLETED from the apps, or even modifying the app in some way. – dotVezz Oct 22 '13 at 15:14
1

It all very much depends on the "startup manager" used, and whether your device is rooted. As dotVezz answer assumes, there are some just de-activating the corresponding "listeners" (apps can be notified on events, and thus get started when they appear – the most famous event being boot_completed; but there are many more, like network changed, SDCard mounted, battery low... If you are interested in details, see e.g. What's the difference between a service and a broadcast receiver?). However, doing that requires "root powers".

Thus "startup managers" working without "root powers" basically do nothing other than task mangers: killing the app once it started on a given event. They also in most cases stick to the boot_completed event, and don't care about others.

Then there are those managers supporting both modi. Best one most likely is AutoRun Manager, my favorite I used for quite a while.

Now your question is specifically about Startup Manager. As you can see in its app description, and like I've written above, this app just cares for the boot_completed event: it does disable/enable startup items from system boot. Its permissions do not include SUPERUSER (aka root), so it cannot modify receivers/listeners. So it most likely just "kills" the apps when they start. Prove on that you again can find in the app's description: Note: For android 2.2 and higher OS non-rooted devices, some processes will restart themselves right after being disabled. They wouldn't do so if they were really disabled. But many apps do so when being killed.

AutoRun Manager, which I've mentioned before, supports both modi: If used in "Basic Mode" (which does not require root), it kills configured apps on start. In "Advanced Mode" (requires root) it "silences" their listeners, so they never receive the event broadcast and thus do not automatically start.

  • Glad you like it! I guess it's not necessary to say which method is to be preferred (killing or silencing)? Hint: #2. Especially for those re-starting apps. Let them start and kill them eats more battery than just not let them start. And for those re-starters, there could be a vicious circle of kill-start-kill, luckily detected by ARM and (from the description) might also be by SUM. Still, better to keep an eye on it. – Izzy Oct 22 '13 at 20:27
1

Some research indicates that this is most likely done by revoking permissions to the apps you specify. Specifically, the app needs android.permission.RECEIVE_BOOT_COMPLETED in order to run at startup.

However, while this is the most likely situation, I can't speak for the exact functionality of Startup Manager.

Additionally, if you're concerned because the app's description isn't clear about how it works, you can alternatively use Autostarts, an open-source Android startup helper tool which controls which intents actually get sent to which apps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.