Ok, I think a large part of this is I am using the wrong terminology, since I agree with half the things said here.
For the record, when I said internal memory I meant the /data mountpoint, which was considered the phone's internal memory. I am aware the sdcard0 mountpoint is also on the internal flashrom.
Actually I have met apps that won't work without an sd card. Long time ago, but...
Well, like I was saying, I have no doubt such apps existed, but I would find it hard to believe such apps would even work on a modern version of Android if they have not been updated by now. I personally have never run into such an app. There is also the fact that there are many more and much more modern apps which are expecting to write to external but this mountpoint is making them write to internal, I don't see why we are arguing that it's for the sake of these much older apps when it causes this kind of behavior in a far larger number of newer apps, and only saying these newer apps should be updated.
But would it have fixed anything? A lazy dev could just write apps to stick everything into /data with no alternative, and the restrictions Google have introduced for physical sd cards could still have been introduced.
They can already dump anything to /data. Things are no different in accessing /data or /sdcard (the emulated one), apps essentially have full access to anything that hasn't already required root. Most apps DO still write most of their data to, well, /data.
Also, IIRC (correct me if I'm wrong) but the write restriction only applies to the "secondary" storage, the first sdcard to be mounted(which in this case is the virtual one) is considered primary, and has full access. So if there was no emulated sdcard, then the restriction would only exist if your device had two sd slots, and only for the second slot.
and for stated reasons which would surely apply at least equally to internal storage (worrying?).
That's what I find the most ridiculous thing about all of this, apps and even the user even more access to the internal memory (both /data and /sdcard) than the actual physical sdcard. I can move around, delete, rename, etc many many files on my /data and /sdcard mountpoints... but I can only read the files on /extsdcard. Personally, I think it would make far more sense for it to be the other way around, the internal memory locked down and your sd card having full access. (Or the emulated sd directory in devices which have no sd slot).
Google made Android Open Source if you don't like the way the particular version you have or the manufactures additions to it then you can always write it the way you want it to be.
The device is locked down though, just because the OS is open source doesn't mean you will receive it in a state where you can do anything about this. HTC is one of the few to allow you root access... if you tell them your IMEI and forfeit all warranty.... but you will still be S-ON. Yes, there unofficial ways to get rid of that.... but personally if an OS requires 3rd party hacks to do something like this, it shouldn't be considered a viable option and I don't feel the OS itself shouldn't be designed like this.
Most Developers want their apps in internal memory and not on an external source. This is so they can communicate with home for the latest information to present to you. And to also be able to quickly open and present any document you may wish to view.
Yes, that's what I want too. I have not run into a single app which needed to be installed onto the sdcard. In fact, the exact opposite, a quarter of the hundreds of apps I have used could only function on internal memory, some allowed you to move them to the sdcard as an option, but not a requirement.
I am talking about the data of the apps, Not cache and other junk data, but documents, photos, etc you would want to keep. As well as extracted settings to backup data. Makes infinitely more sense that this data be written to the physical sdcard than internal memory, if your device has a sdcard.
As far as file managers being useless I don't see that Either I constantly use file managers on both my tablet and my phone both with kitkat. I have copied and moved several files/folders from my "SDCARD" with no issue what so ever. I will admit I never tried to rename them.
Does your Motorola have root access by any chance? Or is running a custom rom? You can still access the sd card if you have root... and grant the application root access, or run a patcher (which needs root) that completely removes the limitation. Most custom roms have this patch already installed.
Also, there is a loophole in the MediaStorage API that allows possible access, but it's glitchy, and varies from device to device, and clearly a security hole that Google is going to patch soon. I tried Astro, ES File Explorer, and total Commander, none of them could do anything to my SD card, I couldn't write or delete any files.
I tried to address this thread from a neutral point of view but I'm becoming mildly irritated by the tone of the OP and use of emotive language - "tricked" and "lying" are not descriptive of the emulated SD provided by the Android OS, any more than they would if applied any of the miscellaneous ways all operating systems use to maintain compatibility when the physical location of some common resource moves.
I apologize, you're right about that, I'll try to be less emotive about this.
Windows does a lot of this using NTFS junctions to link multiple different names/locations to the same resource (to handle legacy "My Documents", et al) so as not to break older software; it's not dissimilar to the Linux method (hard links) and similar in effect to the method used in Android.
Yes, I'm well aware of those. There are quite a lot in Windows 7 and 8 by this point to maintain compatibility with older software.
My point is, linking the sdcard mountpoint to a folder in the internal flashrom is more akin to linking Drive D: in windows to a folder on your C: drive. I understand this is not quite the same thing as the way Windows is made nothing ever really required a second harddrive, nor were they hard-coded to access that drive though, but on Android they were. The sdcard folder, to my knowledge, was designed to be a mountpoint to the root of the SDcard, so most apps that want top write to it, are writing to internal. I understand an app can be updated not to (although with the restrictions added in KitKat this may or may not work depending on what the app needs to do on the sdcard) and look if there are any additional mountpoints, but then what is the purpose of this emulated mountpoint? If the argument is that apps should be updated to see the new external sdcard mountpoint, and that the emulated one is for some very old apps that need it to work, doesn't it make more sense to say the much older apps which need a sdcard should be the ones who need to be updated rather than the hundreds of newer apps that are effected by it? I can understand putting the folder there for devices with no sd slot, but not for ones with one as you can have an actual sd card in there (in fact, many phones I have seen even with large amount of internal memory still come with one anyway, despite most not needing it for any of their apps).
Then the apps are poorly coded. Apps I use have no problem recognising that /sdcard0 is internal storage and /sdcard1 is an external 64GB card.
Like I said though, why are we saying all these tons of newer apps are poorly coded while being in favor of the emulated sdcard folder for the sake of far far older apps which have not been updated to use /data if there is no sdcard present? Shouldn't we say these older apps (if they still run) should be updated to work instead of putting this emulated sdcard folder for their support which causes all these other apps to write to it, thinking they are writing to an external storage?
So far, the only apps I have used that can see all the sdcard mountpoints are file managers (or pretty much anything else with a file browsing ability, such as media players), and a SMS/call log backup app, everything else I have tried to use that can write to the SDcard was writing to sdcard instead of extsdcard.
Only with v4.4 onwards, and the reasons are well-documented. Besides which, that's a totally different discussion.
From my understanding (again, correct me if I'm wrong) these were in place since honeycomb, officially from Google at least, but manufacturers for the most part did not follow these until KitKat. I don't know if anything about Google's policies in regards to KitKat changed to facilitate them following the new SDcard access changes now. And personally, just because the reasons are documented does not mean they are good reasons, I have only seen negative posts about the permission change in 4.4.
As evidenced by the fact that, if you remove the external SD card from a device that uses one, apps will still install happily until storage capacity is exceeded.
I am confused, this is basically what I have been saying. I want apps to be able to write their data to the sdcard, not arguing that they should only be installable to the sdcard or that the sdcard mountpoint is preventing this.
Where would /data point to, internal or external? While it's perfectly fine to have multiple mountpoints referencing a single partition thanks to symlinks, afaik it's impossible to have a single mountpoint referencing multiple partitions.
Again, I am confused, because this is also what I meant. /data should point to internal of course, I never tried to argue against that, sorry if it came off that way. I am also not sure where you got I was implying a mountpoint should point to multiple paritions. I was saying I think that the /sdcard mountpoint should point to the root of the sdcard instead of a point on the internal flashrom.
As an ignorant layman, it seems to me like the problem here is just how the internal storage is named?
Must admit it confused me at first but i got over that in ICS.
I know sdcard/sdcard0 is a partition on the internal memory but i just imagine it as an sd card thats non-removable or like drive C on a pc
Now now, no need to put yourself down like that, none of us are born knowing this, I certainly have a LONG way to go with Android, and my first attempts using a computer would probably make a laughable YouTube video if it existed back then.
And that is sorta what I mean, rather, the issue I have is that the internal storage has a folder named after what used to be the location of the physical sdcard, so there are lots of all out there which still think this is the actual sdcard and are writing files meant to be removed to there.
Also, not sure about sdcard being a partition. I know on some devices (like my M8 as others in this thread pointed out, it's just a symlinked folder), not sure if other devices actually have partitioned off the flashrom into a separate sdcard partition or not, but yeah, whether its a symlinked folder or an actual partition, they are all physically on the same flashrom chip.
And what about devices like the Nexus line that don't have external storage? Some apps need an sdcard. The camera on my HTC Sensation demands one. The one on my Optimus F7 does not. Emulated storage is for compatibility.
I don't see a problem with having the emulated storage if the device has no physical SDcard slot. I already talked abut older apps that need a SDcard. As for the camera app in the Sensation, I think that is just a HTC thing. My EVO 3D demanded a sdcard for the camera too, but both the Sensation and EVO 3D have a sdcard slot, and come with one already plugged into the phone. (Plus, AFAIK, neither of those two had the emulated sdcard folder either).