• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Long-time Android user considering switching - An editorial

You can't write to the extsdcard with KitKat? :mad: :thinking:

That's new to me, I'm using Jamal's Nexus rom on my i9505 and can write to the extsdcard just fine so assumed you could on a stock i9505g also.

What are Google thinking? :(


hmmm.. I think there may be some confusion there....

This link seems to clarify things.
Android 4.4 APIs | Android Developers

External storage access

You can now read and write app-specific files on secondary external storage media, such as when a device provides both emulated storage and an SD card. The new method getExternalFilesDirs() works the same as the existing getExternalFilesDir() method except it returns an array of File objects. Before reading or writing to any of the paths returned by this method, pass the File object to the new getStorageState() method to verify the storage is currently available.

Other methods for accessing your app-specific cache directory and OBB directory also now have corresponding versions that provide access to secondary storage devices: getExternalCacheDirs() and getObbDirs(), respectively.

The first entry in the returned File array is considered the device's primary external storage, which is the same as the File returned by existing methods such as getExternalFilesDir().

Note: Beginning with Android 4.4, the platform no longer requires that your app acquire the WRITE_EXTERNAL_STORAGE or READ_EXTERNAL_STORAGE when you need to access only your app-specific regions of the external storage using the methods above. However, the permissions are required if you want to access the shareable regions of the external storage, provided by getExternalStoragePublicDirectory().




Apps like file managers etc just need to be updated to include the updated permissions surely?


and a quick look around for ES file explorer ( which is the one I'm currently using although not on kitkat) at https://www.facebook.com/EStrongs

gives this note
ES File Explorer V3.0.8.0
1)Fix Android 4.4 Kitkat external card compatibility
2)Auto upload modified network file
id=com.estrongs.android.pop

so it looks like it needs a bit of work to update the app. So I understand how its broken. If you're introducing new security permisions to fix a problem (why hould any app I install have access to all of the data on my sd card if it doesn't need it?) and still allow the old security permissions, then what was the point in fixing it?
 
Upvote 0
First, I went and made massive edits to my posts for spelling, grammar, and clarity. So I don't fault anyone if they misunderstood my. I'll try to further clarify.

You can't write to the extsdcard with KitKat? :mad: :thinking:

That's new to me, I'm using Jamal's Nexus rom on my i9505 and can write to the extsdcard just fine so assumed you could on a stock i9505g also.

What are Google thinking? :(

You can, sort of. All applications can now use the MicroSD card for their data folders as an extension of the system folders provided by Android, and they need not request any permissions to do so. This will eventually make it easier for third party applications to use the MicroSD as an extension of internal storage. The downside is that, in order to enable this, Google had to remove the ability of applications to write to the entire MicroSD card as a way to preserve the security of that system data. File managers lose out big-time, but the overall change will be positive for most users. However, I'm not like most users :)

Also, Jamal seems to be using the custom XML to make the MicroSD work. This is an option on the i9505g as well, but it requires root, and it blocks OTA.

Psionandy, I didn't want to quote your entire post, so I'll address it piecemeal.

1. You mention the external storage access requirements for API level 19. However, you misunderstood what you quoted. I'll highlight it here;

Beginning with Android 4.4, the platform no longer requires that your app acquire the WRITE_EXTERNAL_STORAGE or READ_EXTERNAL_STORAGE when you need to access only your app-specific regions of the external storage using the methods above. However, the permissions are required if you want to access the shareable regions of the external storage, provided by getExternalStoragePublicDirectory().

BOLD - This means that applications no longer need permission to read/write to their /system subfolders that are located on removable/external media.

Underline - These permissions are still needed for addressing shared folders (IE, anything not located in /android or /system). HOWEVER, the getExternalStoragePublicDirectory() grants READ ONLY permission. There is no replacement for WRITE_EXTERNAL_STORAGE.

https://code.google.com/p/android/i...s Owner Summary Stars&groupby=&sort=&id=63879

This is working as intended. Prior to KitKat, there are no public APIs that give access to secondary external storage devices, so this is not a regression.

Starting in KitKat, apps now have read/write access to their package-specific directories on these devices through public API, but the remainder of those devices remain read-only.

and a quick look around for ES file explorer ( which is the one I'm currently using although not on kitkat) at

I was a tester for ES File Explorer and brought the issue to their attention. We thought that we had it fixed with 3.0.8.0 and uploaded it prematurely. It's not fixed and we removed mention of it with the 3.0.9.0 update.


V3.0.0~V3.0.9
Recycle bin;Batch rename;GIF;Open as;Select range;New music player,task manager;playlist;New UI;Fast Access;Multi-Windows;WiFi Send;Gesture;Theme;Root Explorer..

I've also attempted to help a few other file manager developers. Those that gave me the chance to work with them all met the same issue. I have two file manager developers who are working with me at a non-root workaround, though ES has stated that they will introduce a workaround for rooted users. The non-root workaround will be to treat the app-specific subfolder as the SD Card to the user. However, we're going to need a second workaround to make this work properly with the device's media given that the Android subfolder automatically generates a .nomedia file and it cannot be removed by the file manager.
 
Upvote 0
Medion... Thanks for taking the time to clarify that. From the link I posted it certainly looked like there were both read and write permissions for external storage. Its been a while since I did any development, and thats certainly the way it looked to me.

However, I'm more than willing to defer to the ES file explorer guys, and others really working on this. If they say there's no such permission then it is a major step backwards for Android.


Workarounds requiring root and hacking by end users (or even OEMs) aren't acceptable here as 1) they aren't accessible to all users and 2) they break the security model and may have other unexpected and undesirable effects.



The sneaky thing is that there doesn't seem to have been any public announcement of this, and by reading the general information I did people may have jumped to the same conclusion that its a non event. Combining with the low amount of Kitkat users on devices with SD cards means that I can see how they've sneaked this out so far.

Someone needs to cover this so that it gets thrown out into the public arena and there's some pressure on google to fix it!
 
Upvote 0
I agree with the OP, no sd card slot or removable battery is bad, we need to keep saying this because there are legitimate reasons for wanting them - primarily, android phones (let's be honest here) have been less than perfect, resulting in the need to take the sd card out & feed it data in a card reader... or replace a dying battery (when the phone hardware itself works ok).

I believe the hype over android is nearing it's end. They sold out to Nestle & changed Key Lime Pie to KitKat. Someone at google is a bit kranky & coming up with hair brained ideas that people don't like. They're becoming apple!

Android is kept alive at the moment by android enthusiasts, or by 'sheeple' who will buy the highest spec phone (but maybe not understand it), & perhaps by the lack of the next big thing.
 
Upvote 0
Medion... Thanks for taking the time to clarify that. From the link I posted it certainly looked like there were both read and write permissions for external storage. Its been a while since I did any development, and thats certainly the way it looked to me.

I got the same impression on my first run through. That's why I pursued it over the past couple of months. But between my experiences with ES, with another file manager product, and that recent response from an Google project member, I've given up. This was an intended change and not a bug.

What's funny is how it's worded though. Google never comes out and says "we removed this feature." They brag about the positive change, but "forget" to mention the negative.

However, we had a major development last night. The Galaxy Note 3 4.4.2 update hit Poland, and the Galaxy S4 4.4.2 experimental update was leaked by Sammobile. In both cases, API 19 applied to the MicroSD. It was first evident by the fact that people who were using Titanium backup couldn't export to their SD card.

There's only two ways that this ends, and in both cases, it's Samsung in control. Either Samsung accepts this change by Google, or they get enough complaints from users and developers that they revert this on THEIR handsets (as most well known OEMs don't use MicroSD anymore). This would further separate Google and Samsung on Android usage.

Steve Jobs made a commend years ago about how he didn't like "folders" and he wanted to do away with them. The idea was that the user shouldn't have to deal with looking through folders for a file, but rather, all files should be associated with programs and interfaced with through those programs. The iPhone's app model was a manifestation of this intent and we're now seeing Google going in that manner.

The end result is something that is better for the vast majority of people. I'm just becoming a dinosaur :)

I agree with the OP, no sd card slot or removable battery is bad, we need to keep saying this because there are legitimate reasons for wanting them

I never said this. This change doesn't disable MicroSD. It simply changes the way that the phone interacts with it. Instead of being a wholly separate drive that apps need to address on an individual basis, the OS itself will now move app data to it, making it an extension of internal storage. The tradeoff is that some security is needed, meaning that apps can no longer write to it carte blanche. This is a tradeoff that will suck for some users, but is a boon to most users.

Whenever you make changes, there are winners and losers.

They sold out to Nestle & changed Key Lime Pie to KitKat.

False. Please don't bring conspiracy theories into this thread. I don't want meaningful discussion devolving into that, which ultimately leads to a thread closure.
 
Upvote 0
BOLD - This means that applications no longer need permission to read/write to their /system subfolders that are located on removable/external media.

Glad they added this. Now people don't need to cry when their live wallpaper wants sd card access.

Perhaps, I misunderstand the changes to external storage. Maybe you guys can further clarify for me.

Underline - These permissions are still needed for addressing shared folders (IE, anything not located in /android or /system). HOWEVER, the getExternalStoragePublicDirectory() grants READ ONLY permission. There is no replacement for WRITE_EXTERNAL_STORAGE.

Are you sure that's true. The code posted under getExternalStoragePublicDirectory() has an output stream. Something is being written.

And wouldn't a lot of kitkat owners complain about this. I can't find anything on google.
 
Upvote 0
Glad they added this. Now people don't need to cry when their live wallpaper wants sd card access.

Not quite. Because applications don't have to request permission anymore, they won't show up as needing MicroSD access. Besides, they're not the ones writing here. Technically, its Android writing here on behalf of the app.

Are you sure that's true. The code posted under getExternalStoragePublicDirectory() has an output stream. Something is being written.

See parameters listed in your link, below the section you're highlighting. It's limited to very specific directories. The application has to request the directory specifically, IE, a photo-editing app making edits to photos within that directory. A File manager won't work (case in point, just tested ES File Explorer again, and it won't do squat with any directories with those names).

And wouldn't a lot of kitkat owners complain about this. I can't find anything on google.

No, but consider the target audience.

-First, the device would need an official KitKat release (ROM developers are editing platform.xml to get around this limitation).
-Second, the device would need a MicroSD card slot.
-When you take those two factors into account, you come up with the following devices; LG G-Pad 8.3 GPe, Sony Z Ultra GPe, Galaxy S4 GPe (not exactly devices with high sales numbers), and the Galaxy Note 3, which just got it last night. Check XDA. Those with the GPe devices (especially the S4) have been aware of the issue for awhile, as we got a preview of it in 4.3. The complaints on the Touchwiz S4 boards are piling up now as well because they got a 4.4 leak last night and it has the issue.

Interesting & informative read. 1 question, what might you switch to then?

Outside the scope of my editorial, as this is an Android board. My post was more about focusing on some disturbing trends in Android, rather than extoling the virtues of other operating systems. Unless my phone breaks, I'm minimum 18 months away from an upgrade anyway, so what's true in operating systems today won't necessarily be true in 2016. Because I'm a Google Drive users, the API issue doesn't directly affect me yet. Also, they could very well have 64/128 GB phones out by then. Who knows? That would negate my personal concerns as I only use MicroSD to expand the limited storage on these devices. Had Google/Samsung sold a GPe S4 based on the 64GB international model, I likely would have purchased that and not even bothered with the MicroSD card.
 
  • Like
Reactions: SulkyAndroid17
Upvote 0
See parameters listed in your link, below the section you're highlighting. It's limited to very specific directories. The application has to request the directory specifically, IE, a photo-editing app making edits to photos within that directory. A File manager won't work (case in point, just tested ES File Explorer again, and it won't do squat with any directories with those names).

You're absolutely right about the parameters, Medion. I should of read that better.

This is working as intended. Prior to KitKat, there are no public APIs that give access to secondary external storage devices, so this is not a regression.
It's always been this way, correct? Using MTP, internal memory is now the primary device. Which makes the sd card a non-standard storage device. How were non-standard storage devices dealt with before kitkat?

But the above isn't the real problem is it? It's manufactures leaving out the permissions we need. Not a problem with kitkat exactly. So other than editing the files ourselves, there's nothing we can do.

Do I understand the situation now?

Not quite. Because applications don't have to request permission anymore, they won't show up as needing MicroSD access. Besides, they're not the ones writing here. Technically, its Android writing here on behalf of the app.

The only downside I see, is that if an app used a lot of space, the user wouldn't know. Which shouldn't happen quickly anyway. People can stop whining about an app that has access to all their private files.

And I don't understand the last couple of sentences. If we still have to call the directory and open the streams ourselves. I don't see where Android is doing anymore writing than it always has.

Google requires that certain apps are installed on any Android device that uses the Play Store. Don't want Google+, Hangouts, Drive, Quick Office, etc.? Tough. They're coming pre-installed. Google has also stopped updating core AOSP functions as well (Messaging, Gallery, etc.). The result? OEMs have to make their own alternative, or simply rely on Google's closed-source product. This means that AOSP-based ROMs are being left behind by Google. You're essentially being trapped within an Ecosystem, when Android used to be about being able to use what YOU, the user, wanted instead of being trapped in an Apple-like ecosystem.

I wouldn't think of it has being trapped. But rather an opportunity for others to fill the role.

Google close sourcing it's apps is how it'll maintain control over android. To maintain ecosystem thus far. Google's afraid of those like Samsung and CyanogenMod. They have enough influence to fork and control android.

Also, if Google did everything, what would be the fun of being a developer? Every app would be the same thing with a similar name. Google has provided enough to jump-start 3rd party apps.
 
Upvote 0
Google close sourcing it's apps is how it'll maintain control over android. To maintain ecosystem thus far. Google's afraid of Samsung and CyanogenMod. They have enough influence to fork android.

Android has already been forked by a couple of major manufacturers, e.g. Meizu. What runs on their phones is called FlyMe, you don't see the cute green robot, and has its own version numbers. Then there's the MUIU ROM that all Xiaomi phones come with. Although they still call that one "Android"....for the moment at least. Tencent have made a major investment in CyanogenMod. Think there's a lot going on with Android that has absolutely nothing to do with Google(apart from them releasing the source code)....in China at least, don't know about elsewhere.
 
Upvote 0
Android has already been forked by a couple of major manufacturers, e.g. Meizu. What runs on their phones is called FlyMe, you don't see the cute green robot, and has its own version numbers. Then there's the MUIU ROM that all Xiaomi phones come with. Although they still call that one "Android"....for the moment at least. Tencent have made a major investment in CyanogenMod. Think there's a lot going on with Android that has absolutely nothing to do with Google(apart from them releasing the source code)....in China at least, don't know about elsewhere.

Don't forget Amazon Kindle.
I'm hoping for more stuff like the Oppo Cyanogenmod phone.
 
Upvote 0
I have two file manager developers who are working with me at a non-root workaround, though ES has stated that they will introduce a workaround for rooted users. The non-root workaround will be to treat the app-specific subfolder as the SD Card to the user. However, we're going to need a second workaround to make this work properly with the device's media given that the Android subfolder automatically generates a .nomedia file and it cannot be removed by the file manager.

Do you know what the most recent root workaround entails? Just noticed another user was not getting results by modifying the platform.xml [write_external_storage] to include media_rw.

So I'm not sure if there is a new workaround required outside of that edit (necessitated by API 19), or if it just didn't work for this person for some reason unknown.
 
Upvote 0
Not really sure on the bloatware considering you are getting a Google product. That's like arguing why iPhones come with iMessage instead of just a simple SMS app. And also considering that the services are now getting tied together (your Google+ account is also your Play account and your Youtube account). Plus you can still remove them via root. We've always done so before anyway.

Priority to Google apps is of course something we should have seen coming and actually something I've long wanted implemented. Makes things more centralized, although I still keep backups in other places of course. It's a Google product, so of course Google will use their own. It makes no sense for Google to promote SkyDrive, a Microsoft product, considering that MS is technically a rival in the phone OS market. Also, Google publishes the GDrive API, so it makes sense to just link it to their other services. Asking Google to publish API's for Dropbox etc alongside the GDrive API in Play Services is like asking a BMW showroom to sell you an Audi.

Basically I disagree with you on those two points as it has (to me at least) something I've long been expecting and looking forward to.

I however agree on the battery and external card. I would prefer to manage the way my files would be arranged in my SD card for my easier access and management.
 
  • Like
Reactions: mumfoau
Upvote 0
While it makes no sense to promote other services, it might be wise to provide a link of some sort or an app to those services. If your office uses whatever MS uses, and you can't access on your device, you have to take office issue or buy another device. Since most people will take the easy way out, they might decided to go with the more convenient method to work which would lose Google a customer. The war for all this will be cutthroat eventually. And business usage will probably win out.

The Vulcan worked where you needed a security clearance, and licensing offered him a lot of goodies on home computer for security. He grabbed, and he's still living in those days. If it was free, despite restrictions, he was for it. So if a system a one business uses offers the best perks, the person who works there will often make the whole family use that system regardless of which. Now you have closed systems that cannot or will not talk to each other, and everyone loses out. Some information like weather and climate cannot be subjected to petty "it's my info" rules for the sake of society.
 
Upvote 0
Android won't die even if Google 'kills it'. i always said that should Play Store one day cease to exist, we still have other app stores and markets and the open-source part of Android is still intact. there is no end to what really talented devs can do with Android. perhaps even make 'upgrades' of their own? it's like Linux. there is no such thing as an 'unsupported' distro of Linux. so long as there are folks toying with a distro, it exists. even VectorLinux these days, version 6, is quite old, but you can still use the most recent Firefox browser and VLC player on it. Google won't be the end of Android, we will just remove the Gapps APKs and make use of our own stuff. i already got a bit peeved at Google for never having fixed the Play Store from day one, it was working perfectly fine when it was the Android Market. ever since it became Play Store, it has crashed, failed to download, 'forgot' previously purchased apps, fails to sync, etc. all at random. i've gotten used to using Amazon Apps more lately, and only using Play Store to redownload old purchases (like after a factory reset or flashing a ROM) or to update apps that were downloaded through it. i still use Play Music, Play Newsstand but am using Amazon Kindle for my ebooks due to my preferred content (animal rights) being more commonly found on Kindle, plus i like the UI better, but Play Store's days are numbered with me. There really are no alternatives that i'd consider in this day and age. Apple lost me with iOS 7, and i have zero interest in the fledgling flat ugly Windows Phone, and BlackBerry is just dead in my mind.....Android phones no matter how old are pretty future proof. if someone can manage to shoehorn a Jelly Bean ROM onto the HTC Dream, there are no end to the possibilities. of course, no one needs the most recent version. Android FroYo is still fully functional, and UI ugliness is easily fixed through Xposed, so you can use any old Android phone if you want to keep SD Cards and removable batteries. unlike with Apple, Microsoft, and RIM, you don't need the latest software to run the device, and the app stores work no matter how dated it is. Android phones are just too future proof.
 
Upvote 0
future proof?
that is what RIM thought .. and Palm

There's a big difference though. Those are proprietary, Android is open source. There's only one company making BlackBerry OS devices. Google couldn't kill Android, any more than Canonical could kill Ubuntu.

Even if Google were to stop Android development tomorrow, sure there's plenty others that'll take their place. I know China manages to do very nicely with Android development and growth, without Google.
 
  • Like
Reactions: funkylogik
Upvote 0
RIM and Palm didn't innovate. they never had apps, they relied heavily on their business-oriented model and died off. Android is WAYYY ahead of RIM and Palm with many different app markets. it doesn't begin and end with Google. RIM was also closed source as was Palm's WebOS. it had no open-source advantage that Android (and Linux) has. i was also referring to the fact you don't need the latest and greatest device either. it was more future proof in regards to hardware. Android is fully functional no matter how old or new your device is. unlike Apple and Windows, you aren't forced into planned obsolescence (non-removable batteries eventually wear out and most of those two manufacturers design their devices to have a two-year lifespan) and you don't have to have the 'next big thing' as it comes out. What really killed RIM was relying on dated 1990s options that are not far from a cheap feature phone. their BlackBerry devices were far overpriced and did very little, and were targeting an entirely different (niche) market demographic. they were so full of ego bloat they failed to see the problem until it was too late. i doubt Palm in comparison even had enough customers to remain in business. i never saw a Palm Pre anywhere but an empty Radioshack years ago. Palm's heyday was during the PDA-era with the Palm Pilot and Pocket PCs. If you had ever used a BlackBerry before, you'd notice that outside the web browser, it required a connection to BIS to access email, app stores, sync, etc. it was essentially a paperweight without it. so you were forced into a more walled garden than Apple has. Apple iPhones will continue to work, but eventually Apple closes the app store to the older devices, and unless you use Cydia, or some hack, you are basically left without the option to download apps. Android has many alternative app stores and you aren't forced into the Google garden. you can side-load without an app market entirely, or use any number of various others. Just like how Ubuntu doesn't force you to use Software center.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones