So I did some research and yes that would be nice...

Unfortunately from Android's perspective /storage/emulated/0 is considered external storage. Basically the device manufacturer gets to decide what external storage really is. It's better classified as "typically fixed on device storage logically separated from the normal storage"

The very fact that the Nexus line doesn't contain removable storage options tells you how much Google care about this.

See https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html for the completely insane tortured logic that gets you there.

Also: https://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html

What you think of 'external storage' is better named 'removable storage'.

And for Android 4.4 the problem is (again quoting):

"... apps cannot write to or otherwise modify such removable storage. Note that device manufacturers themselves may have ways of dealing with this, but ordinary app developers do not."

For Android 5.0 there is a solution documented here:

https://metactrl.com/docs/sdcard-on-lollipop/

We need to implement this if we want to support SD card support.

This also does need careful design as we want to avoid:

* Other apps reading our files (which you don't get in 'internal storage')
* Storing unencrypted copies of encrypted content
* The app crashing without explanation if an SD card with all the settings and stuff on being removed

I also think that asking users to provide the path for 'external storage' is bad UX anyway. This whole setting needs ripping out and improving in a backward compatible manner.

It's a major enhancement to do all this unfortunately and there's always lots of those :)

I will write up an enhancement issue for all of this though.

- Philip


On 2016-04-06 06:55, Paul Norman wrote:
Thanks Phillip,

As Android / Settings (bogusly) says K9 is using External Storage, I
did the following...

I copied
/storage/emulated/0/Android/data/com.fsck.k9/files/

To:-
/storage/sdcard1/Android/data/com.fsck.k9/files/

Then renamed
/storage/emulated/0/Android/data/com.fsck.k9/files_hold/

Started K9, as I feared it would, it just recreated default settings under

/storage/emulated/0/Android/data/com.fsck.k9/files/

... And ignored what was now on the actual External SD card.

I deleted the new files folder and renamed files_hold back to files,
restarted K9 and all was working, but I'm still stuck with 1Gb on my
internal storage card :-(

Can we please have a setting (Global) which lets us explicitly choose
the K9 bulk storage location - and K9 automatically moves the stuff
there when the setting is changed?

It would be a great help please?

:-)

TIA

Paul

--

--
--
You received this message because you are subscribed to the K-9 Mail Users List.
To post to this group, send email to [email protected]
To unsubscribe, email [email protected]
To report an issue with K-9 Mail, visit 
http://code.google.com/p/k9mail/issues/list
For more options, visit this group at http://groups.google.com/group/k-9-mail

--- You received this message because you are subscribed to the Google Groups "K-9 Mail" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to