Is "internet access" permission just granted for any app by default without asking the user?
There were initiatives (probably 3rd party) for more granular permissions, but I haven't noticed this becoming common. I vaguely remember that Android started asking for some individual permissions not upon installation, but only when they were first used by the app, e.g. camera access. Why is this not the case for internet access?
In a nutshell, how did permission granting in stock Android develop from say Android 3.x times?
I understand that some keyboards want to provide suggestions using a dictionary they download online. Also, I used to use SwiftKey once which wanted to read all my mail to produce better suggestions. Is there even a good way to balance the benefits (features) and risks (uploading a key log if the app is sold/abandoned and taken over by an attacker)?
IIRC it was changed because people complained that a lot of apps required that permission despite the functionality not needing it. E.g. calculator app or whatever. Turns out that you need this permission if you want to display ads. So Google just sided with the advertisers and removed the permission from the display. Generally, I believe that Google likes internet connected things because they as a company have better tools to capture online revenue streams vs offline ones.
I suspect that allowing internet access even in the form of ads opens the possibility for data exfiltration in principle. But I'm not familiar with the Android case at all.
Presumably these Ad APIs would be for access to Google Ads. That would seem like an anti-trust issue.
All permissions an app can use are listed in the manifest file, and are displayed on Google Play.
In practice though, it just doesn't work. I got GBoard for a while because it has a bilingual keyboard, but the autocomplete suggestions often ended up being people's first names instead of common words (and not even the people I was talking to).
Of course I speak only simple French, and those are the cases where its primitive learning is most apt. When I speak English, its suggestions are less useful, because I use a much wider vocabulary and more sophisticated sentence structure.