Android 5.0 Makes SD Cards Great Again
An anonymous reader writes: Over the past couple of years, Google has implemented some changes to how Android handles SD cards that aren't very beneficial to users or developers. After listening to many rounds of complaints, this seems to have changed in Android 5.0 Lollipop. Google's Jeff Sharkey wrote, "[I]n Lollipop we added the new ACTION_OPEN_DOCUMENT_TREE intent. Apps can launch this intent to pick and return a directory from any supported DocumentProvider, including any of the shared storage supported by the device. Apps can then create, update, and delete files and directories anywhere under the picked tree without any additional user interaction. Just like the other document intents, apps can persist this access across reboots." Android Police adds, "All put together, this should be enough to alleviate most of the stress related to SD cards after the release of KitKat. Power users will no longer have to deal with crippled file managers, media apps will have convenient access to everything they should regardless of storage location, and developers won't have to rely on messy hacks to work around the restrictions."
I can only hope this is actually implemented transparently. Having to choose (and pay for) all the memory you'll ever use the day you buy your phone is ridiculous, and limiting people to what the manufacturer's cost targets are (and no mfr is interested in a bunch of expensive, slow moving stock) made no sense in the market.
Now if Verizon can get it's head out of it's ass and roll out 5.0 updates quickly after the mfrs release them, things might be looking up.
Is it just my observation, or are there way too many stupid people in the world?
I expected the Nexus 6 to have a microSD card slot because they were supposed to gain first-class support in Android 5.0.
But it doesn't, so external storage support must still be a second class citizen on Android.
For a long time, I've been hoping for an OS where, by default, the apps cannot access anything outside of their private areas.
It's possible with chroots and cgroups and other facilities but it's always a mess of third-party after-thoughts.
There's no reason I should have to give my satnav app full read-write permission to the entire SD card just so it can save my favourite places to permanent storage. It shouldn't even be able to know where it's saving them, that's for me to choose.
As such, these are all moves towards a safer, more secure environment. The problem, as always, is what happens in the meantime for the transition or if we mess up and stop apps doing what they need to do. No photo app needs read-write access to the entire SD card, nor can it cope with just read-write access to a private app area. It needs to share the files it writes with the user. Isn't this precisely what the amalgamation of several folders into, say, "Pictures" or "Music" is on several OS? All the app needs to do is say "this is a pictures folder that the user might want to use". And when uninstalled, it stays around because it's still one of the many listed pictures folders for that user.
Gone are the days of full-write-to-everything access. We don't need it. It's not necessary. But we do need the facilities to ensure apps can do what they need to do. This very much pushes into the filesystem-as-a-database idea that we've been wanting for decades. There's nothing stopping an app opening up a separate table for its photos and having the database just join the rows from several tables when the user wants to look at all their photos. And that does not require giving the app access to every table and row in the entire database.
That's why you should always root and use https://play.google.com/store/...
Is it just my observation, or are there way too many stupid people in the world?
You're going from modern China to modern North Korea. I say this as an iPhone user. No external storage. No file manager. Nothing open.
So because Android is less open than it originally was, you switched to the most closed platform available for phones? That's like being so pissed they dropped the speed limit on the highway from 65 to 55 to swore you'd drive on 35MPH surface streets from now on.
That's as bad as the guy who recently wrote that after 20 years as a loyal customer of CVS, having never once in those years used NFC payments until two weeks ago when ApplePay was turned on, is now boycotting CVS because they stopped taking NFC payments.
Is it just my observation, or are there way too many stupid people in the world?
I, too, love the openness of iOS. Their SD card support, file management tools, inter-application data sharing, and overall system accessibility to users and developers is top notch.
I would just like to point out that iOS users never had any problems with built-in SD card readers.
Get free satoshi (Bitcoin) and Dogecoins
Google has servers for this. You're supposed to be letting them index/scan/use your info, not storing it privately on flash.
Duh, it's a network device, everyone has unlimited network access everywhere don't they?
So can we install apps to the SD card again? At one point, you could move apps to the SD card and run them from there instead of from internal storage. This was great if you had about 3GB of "applications storage" (the internal storage area was divided into system, applications, etc) and were running some large Android games. You could get a cheap 32GB or larger microSD card, put that in, and instantly have all the space you would need for the foreseeable future, Then, this feature was removed and apps were restricted to the "applications" area of internal storage again. It would be great if you could put apps on the SD card again.
(Yes, I know this might be possible if you root the device, but there's something to be said for building this feature right in instead of keeping it only for the people who know how to root their devices.)
My sci-fi novel, Ghost Thief, is now available from Amazon.com.
I've often gone to eBay etc to pick up my electronic odd-and-ends. I'd have to say that for stuff like SD cards - though you do pay the price locally - it may be a safer bet to buy in a B&M than online.
The amount of fake cards is staggering. I'm not just talking about a "no-name" brand that's labelled as Samsung, or a class 4 listed as a class 10, but cards that are labelled as 16, 32, 64GB etc, are IDENTIFIED BY THE OS as the labelled capacity, but actually contain only 2-4GB and have modified firmware causing them to report as larger. That means the card seems to work fine initially, but when you go over the 2GB/4GB mark it actually starts overwriting existing sectors/files resulting in rampant data corruption.
If you want to test your card, you can use a utility like h2testw It will tell you if the card is having bad writes - which could indicate a faulty card - but also tells if it's doing stuff like writing back over existing files (which indicates a fraudulent "over-capacity" card).
[h2test2 is windows software. Sorry but I'm not sure if there's a 'nix equivalent. One could probably make a script that DD's numbers across various sectors and then checks afterwards whether they overwrote previous sectors).
O_o
What security problems? You can't autoexecute stuff off an SD under Android. The only time there's a security concern (and it's going to be the SAME on the on-device eMMC...) is that you can execute code off of an SD that vendors didn't intend for you to run. That's how people side-load in the first place. They didn't change anything with this little change they made in KitKat and didn't break anything any worse than it was with this change back.
The reason that they quit including SD slots was because they want everything on Drive or similar and it lowered the BoM cost to peel those out. It's not security- quit deluding yourself and everyone else with this tripe.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
They don't see the need, and I'm not surprised. Why would you need 128GB of local storage if you're in the bay area? Wifi and cell coverage is everywhere, and the big corps still have unlimited cell data available for $20 a month (I'm on one of those plans...it's nice). Your company builds servers so that you don't have to worry about local storage on your handheld device.
They completely forget about those of us that live in the 90% of the country without high speed cell data cell coverage (not by population, but by land area). They forget that we need local maps of huge areas. That we have weird and unusual demands that make it impractical to stream music or video in many places. Heck, 10 years ago an IT friend from Dallas sent me a photo of the storm he just finished chasing. I just about killed him for it - he sent me a 5MB bmp file, which was no big deal for him, but I was still on dialup and that damned thing took half an hour to download. He didn't think anyone was still on dialup, much less me - just 15 minutes away from one of the most wired university campuses and less than 300 miles from Washington DC.
They fell into the "this is so awesome everybody is gonna love this shit" trap, and forgot that not everyone has the resources they have.
Is it just my observation, or are there way too many stupid people in the world?
Much of what you describe is CyanogenMod's Privacy Guard feature.
Privacy Guard is enabled for all apps by default. The first time an app requests a permission, the user is asked to allow/disallow that permission, and can choose whether to have that choice remembered or be asked every time. Disallowed permissions simply present the app with false data. Apps work fine, they just think you have no friends/live in the middle of the Atlantic/never connect to WiFi etc etc.