Android provides broadcast BOOT_COMPLETEDto automatically launch applications. But some manufacturers add extra permissions, as you mentioned, to improve performance / battery. Only the user can whitelist your application in this scenario.
source
share