4 ms·
Killing background tasks is great and Android does that automatically to save battery usage. But these manufacturers have implemented their own functionality on
by me551ah 8y ago
Killing background tasks is great and Android does that automatically to save battery usage. But these manufacturers have implemented their own functionality on top of Android which cripples even critical messaging applications like WhatsApp, Slack, Gmail by not delivering Instant Messages notifications instantly.
- trsfgbb 8y agoXiaomi Redmi Note 3 Pro even kills Google Maps navigation after few minutes (with screen on). I have to use MAPS.ME, it doesn't kill it.
- daveFNbuck 8y agoI don't want Slack or Gmail to deliver notifications instantly. I'd love to have functionality that saves battery by delaying them.
- me551ah 8y agoGet one of the phones listed in the link. Xiaomi is brilliant in this regard !
- daveFNbuck 8y agoDoes it allow the user to configure the delays per app?
- scarejunba 8y agoBoth these apps allow you to do that in-app. I have Gmail not notify me for work emails and notify me for stuff on my personal account.
- rplnt 8y agoThat doesn't save the battery though.
- daveFNbuck 8y agoI want all the notifications. This was a question about timing. I don't want them to do the constant polling required for the notifications to appear instantly.
- dbrgn 8y agoIf the app is killed that doesn't just delay notifications. It prevents them until you manually open the app again.
- daveFNbuck 8y agoYeah, but we're talking about manufacturers adding custom functionality that delays notifications to save battery.
- dtech 8y agoSo why not disable the notification functionality if you don't want it?
- daveFNbuck 8y agoI want the notification functionality, I just don't need it to be instant.
- zo1 8y agoDelaying them by how much?
- daveFNbuck 8y agoFor Gmail, an hour delay would be fine. For Slack, probably 5 minutes would be ok.
- handzbagz 8y agoDon't most apps use GCM to deliver notifications anyway?
- xyproto 8y agoI don't want WhatsApp (owned by Facebook) to run in the background on my phone at all times. I don't trust them, especially after Instagram (also owned by Facebook) started using the camera by itself on my phone, without my permission. Slack would be fine, I guess.
- dbrgn 8y agoThe irony: Many manufacturers factory-whitelist apps like WhatsApp, Skype, sometimes Telegram. That means that smaller messengers get killed (=no more new message notifications) and users complain to the developer because "with WhatsApp everything works fine"...
- GeneralTspoon 8y agoThese days the app doesn’t run in the background when receiving an FCM push notification (unless it’s already awake). The message is created by a separate Google Play Services process. It’s only when you click the notification does the target app’s process get woken up. IMO, the best way to solve this is with an explicit “Let this app run in the background” permission, rather than implementing all these “smart” features which are incredibly non-deterministic. Which leads to developer & user frustration alike. Take the example of the new “App Bucketing” battery saving feature in Android 9, plus a banking app and WhatsApp.... App Bucketing will basically restrict your background processing based on how often you interact with the app. So for your banking app (where you usually want immediate spending notifications), because you don’t really open the app that often, it’s going to start throttling your notifications (and prevent it from running arbitrary background jobs). But for WhatsApp on the other hand - because you’ll likely open it more often - it will have full permissions to run in the background any time. If as a user you wanted to prevent arbitrary WhatsApp background jobs and get instant banking notifications - well tough luck!
- izacus 8y agoI think you misunderstood the core issue here - it's not that the USER can decide what runs. It's that the USER cannot override those settings and decide that something can run and function if required. There are special whitelists for apps that are allowed exceptions (e.g. Facebook and other common apps are usually allowed to work) and others are killed against the Android API guarantees (e.g. you install Signal messaging app and you don't receive messages because Huawei didn't whitelist the app).
- Arnt 8y agoAnd worse, what they're doing confuses android's own code into thinking the apps are crashy. So if you run e.g. (new JobInfo.Builder(1234, name)).setRequiresCharging(true).setRequiresDeviceIdle(true)... to do something heavy (like reindexing an on-device database) while the phone is charging, that job will simply not be run on some phones. You have to check whether it's been run at app startup, and if necessary run it while the user is actively using your app.