[ONE Android Development] Sukarn:
There's more to it than just notifying me. I just didn't want to bog down the thread with more details that people would find boring to read, since it's not just an option in the ROM or an app that you can directly use.

It is a regional or a carrier-specific thing to show them. They're shown in prepaid connections in India after every phone call, sms and every time mobile data disconnects. In case you have an unstable connection and your data disconnects multiple times when your screen was off, you could end up tapping OK multiple times to dismiss all the pop ups (in older versions of Android) or you could have one pop up with multiple messages on the screen. Those don't get stored anywhere, but the carrier is obligated to send them to users in India because of local rules in the country.

Android's built in data monitoring is useless for me, as my carrier does not have any monthly plans for prepaid users. All their data plans are either in multiples of days or weeks (1 day, 2 days, 3 days, 7 days, 14 days, 21 days, 28 days) or plans of more than one month (2 months, 3 months, 6 months). I don't have a monthly option on prepaid, and I often get data packs of varying amounts of data and days, depending on whether I'm going to be travelling, going to need a lot of data, or any other situation.

My carrier's app can tell me how much money is left in my account. Calling a specific USSD phone number returns a USSD pop up telling me how much money and data I have left, and for how long, after every session of data connectivity, phone call, and sending an sms, there's a USSD pop up. There's just no helping it, it can't be stopped, and they're required by local regulations to do it, because before these regulations they were overcharging people.

I don't get unlimited data packs. I just don't use enough mobile data to spend money on them. Once I run out of data or data validity, my carrier starts charging huge amounts of money from the main monetary balance in my account for using data. Data doesn't just stop working unlike on some other carriers.

So, to summarize, I get data packs that aren't monthly, and that keep varying in terms of how much data I purchase. The built in data tracking in Android doesn't keep up with either of these situations.

My solution to this using Tasker makes it all automatic. It keeps track of data, data validity, and normal phone balance. The last one is just for my convinience, but the first two are tracked by it in fully. One minute before data validity runs out, it turns off mobile data. When I have low data left, it gives me a warning. When data runs out, it turns off mobile data.

If I try turning on mobile data when I am out of data balance or validity, it immediately turns it off and tells me why it did that.

The built in android data tracking just doesn't work for my case, and even the carrier's app won't automatically turn off data or stop me from connecting when I don't have data. It's against their profits to do that.

On the last point, I don't think this feature will be merged into the ROM; there just isn't a big enough market among developers for it. Most developers are on postpaid connections, and most people welcome those pop ups to stay informed, instead of getting annoyed by them. Even if it does get added, I'm not holding out in hopes of seeing it added as a sqlite database of all messages that were blocked.