I am trying to do a list of Android task killers that are installed by default on the operating system. The problem is that Android is modified by the phone's manufacturer and it is hard to keep up with what everyone is doing. So far I have found this:
Smart manager - On Samsung phones. Could not call alarm manager but you can avoid this if your package name contains "alarm" or "alert"
Doze - On Android 6. should not interrupt the app but it may delay alarm manager or network processes(especially if your app is not active and your phone is not charging).
Xiaomi , AutoStart . If AutoStart is disabled it seems that your application is completely shut down - no alarm, no broadcast receiver. I could not find a fix for this. The only way to do anything would be just to inform the user to whitelist your app. If you have another solution please share.
My question is if you encountered other task killer like these and how would be the best way to ensure that your application survives(without startforeground)
Thanks
Unfortunately, there doesn't seem to be any solution for it. But what you can do is to identify such device manufacturers with "Battery Saver" apps or "Background Killer" apps. And display notifications to the users owning these smartphones (along with intstructions) to enable your app to process in the background manually.
A small tip for AlarmManager: you would have to reset all the alarms once again after the app is excluded from the blocked list. So, far I have identified these manufacturers: Samsung, Asus, Xiaomi, Huawei.
Here is how to exclude the app from being disabled: https://stackoverflow.com/a/40992179/5129047
consider also "Protected Apps" in Huawei phones