When will the app support the new KitKat policy for external cards read/write ?
I was trying to make a task similar to Redirect File Organizer App method by moving files from internal storage to external storage in a specific time but it shows the message in the attached.
Wow, this truly is unfortunate. I've heard about this, but your description is the most clear. Obviously it's Google's way to strong arm everyone to use cloud storage and stop using external storage. I've heard about a few cases where workarounds have been achieved, but I think they require root. I've also heard that apps that are included in system are not subject to this requirement. I would guess the price reduction of Google Drive is part of this tactic, as well.
Scott
--
You received this message because you are subscribed to the Google Groups "Tasker" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tasker+un...@googlegroups.com.
Visit this group at http://groups.google.com/group/tasker.
For more options, visit https://groups.google.com/d/optout.
Unless there is a good workaround, this will break every file explorer app that exists, along with many others, like Folder Sync. I understand how a security argument can be made, but I doubt that's the ultimate goal in this.
Scott
Note: Beginning with Android 4.4, the platform no longer requires that your app acquire theWRITE_EXTERNAL_STORAGEorREAD_EXTERNAL_STORAGEwhen 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 bygetExternalStoragePublicDirectory().
Scott
On Mar 15, 2014 10:08 PM, <hippoma...@gmail.com> wrote:
>
>>However, the permissions are required if you want to access the shareable regions of the external storage, provided by getExternalStoragePublicDirectory().
I had seen this also. Is there a definition of shareable regions? From a different source, someone indicated this means media storage, like pictures, music, etc.
I'm hoping that all of this confusion is unfounded, and that in the end, everything will just continue work.
I think it's about security more than using cloud storage. It's only an update from the developer and it will work fine.
Based on my reading of Google's policy (see below), it looks to me that we are still able to read and write to any location within external storage, as long as the READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE permissions are set for our apps running under 4.4 or later.
Here are Google's exact words about this. Have I misunderstood?
I'm hoping that all of this confusion is unfounded, and that in the end, everything will just continue work.
I'm running 4.4 on a device that has external storage, and all of the file manager programs that I use give me access to each and every file and directory on my external drive.
Read access is undisputed, can you write there too. Also depends on which ROM you have and if you're updated to 4.4.2 or not.
Get a top-level public external storage directory for placing files of a particular type. This is where the user will typically place and manage their own files, so you should be careful about what you put here to ensure you don't erase their files or get in the way of their own organization.
On devices with multiple users (as described by UserManager),
each user has their own isolated external storage. Applications only
have access to the external storage for the user they're running as.
Return the primary external storage directory. This directory may not
currently be accessible if it has been mounted by the user on their
computer, has been removed from the device, or some other problem has
happened. You can determine its current state with
getExternalStorageState().
Note: don't be confused by the word "external" here. This directory can better be thought as media/shared storage. It is a filesystem that can hold a relatively large amount of data and that is shared across all applications (does not enforce permissions). Traditionally this is an SD card, but it may also be implemented as built-in storage in a device that is distinct from the protected internal storage and can be mounted as a filesystem on a computer.
On devices with multiple users (as described by UserManager),
each user has their own isolated external storage. Applications only have
access to the external storage for the user they're running as.
In devices with multiple "external" storage directories, this directory represents the "primary" external storage that the user will interact with. Access to secondary storage is available through
Applications should not directly use this top-level directory, in order
to avoid polluting the user's root namespace. Any files that are private
to the application should be placed in a directory returned by
Context.getExternalFilesDir, which the system will take care of deleting
if the application is uninstalled. Other shared files should be placed in
one of the directories returned by
getExternalStoragePublicDirectory(String).
Writing to this path requires the
WRITE_EXTERNAL_STORAGE permission,
and starting in read access requires the
READ_EXTERNAL_STORAGE permission,
which is automatically granted if you hold the write permission.
Starting in KITKAT, if your
application only needs to store internal data, consider using
getExternalFilesDir(String) or
getExternalCacheDir(), which require no permissions to
read or write.
This path may change between platform versions, so applications should only persist relative paths.
This not good news :'(
It works fine on custom roms even with KitKat update.
The problem is that he used Move File instead of Copy File. A "move" apparently will not rename a file across filesystems.
Just to sum up, here are the options 3rd-party apps have on KitKat: