views:

2267

answers:

2

My goal is store temporary files in the directory returned by Context#getCacheDir().

/data/data/my.app/cache/somedir/foo.json

I presume I can just use java.io apis to write files there. But I'm not sure how to set permissions on files there because I would not be able to use Context#MODE_PRIVATE.

The filename parameter to Context#openFileOutput and Context#openFileInput cannot accept input with path delimiters. Thus they are only useful for files created in directory:

/data/data/my.app
+3  A: 

But I'm not sure how to set permissions on files there because I would not be able to use Context#MODE_PRIVATE.

AFAIK, they should be private by default.

CommonsWare
+2  A: 

Each application in Android runs under it's own user account by default, so files created by your app would not be accessible from any other app. Check out bullet point #3 at the top of this page:

http://developer.android.com/guide/topics/fundamentals.html

You could also verify this by running a shell in your emulator/device and looking at the output of ls -l.

Kevin Tighe