4

I am using Android 5.1.1 (EDIT: 6.0.1 now) in a Samsung J7. I want to get a list of apps that launch at boot time1.

What are the alternative clear ways of identifying such list? (preferably native from Android)

I could not find anything native. I did find other options/posts, but I am not sure how certain were the posters about the methods, with contradicting info, so I explicitly ask:

  1. This answer gives Android Assistant as an option. I installed it, and checked Monitoring -> Startup Manager It shows two tabs (User, System) with lists of apps2. The two lists total 41+83=124 apps. AirDroid, AlarmReceiver (I could not identify this app) and Maps.Me are in the first list, e.g. There is no mention to any permission. This would do the job.

  2. This answer suggests checking the list of apps that have RECEIVE_BOOT_COMPLETED permission, among the list of 138 permissions. This would list apps that are able to launch at startup (although not necessarily doing so?). Permission Explorer shows 151 apps with this permission. aSpotCat shows 68 apps with this permission. App Permission Watcher shows 48 apps that can “run at startup” without specifically quoting the name of the permission; for instance, this does not list Skype, which shows up in the other two. This might be checking User apps, but then 48<>41, and AirDroid or Maps.Me are not in here. Permission Friendly Apps also shows 48 apps that can run at startup3; it does not list Skype.

So at this point, I do not know which is a sure way, and what is each app checking...


1 At this point, I do not mean to modify the startup list, but only check it.

2 Moreover, there is a checkbox for each app to Select ítems to kill on startup.

3 I did not check if these are all the same as App Permission Watcher.

  • You could use ADB to list the active receivers. That's not just the apps having the BOOT_COMPLETED permission granted, but those having established a listener to the event by the same name. Something along the lines of adb shell "dumpsys package" | grep enabledComponents (just an example, not a script that would exactly do the job you're after; that would need to be a bit more sophisticated :) – Izzy Feb 28 '17 at 13:39

2 Answers2

3

On Android 7+, you can do:

~$ pm query-receivers --components -a android.intent.action.BOOT_COMPLETED

Or:

~$ dumpsys package resolvers receiver | awk '/android.intent.action.BOOT_COMPLETED/{p=1;next}/:/{p=0}p {print $2}'

Related: Disable autostart on boot


Self promoting my app WhatsRunning. Please check Auto-Starting Apps, Alarms and Scheduled Jobs.

Related: Prevent Android apps from starting on device boot

Irfan Latif
  • 20,353
  • 3
  • 70
  • 213
2

Open memory in your settings then select App started on boot

Settings

Ranjan
  • 131
  • 2