How to get FileInputStream for internal memory files in Android ? The file is in my custom folder made in application space

元气小坏坏 提交于 2019-12-06 04:23:31

问题


How to get FileInputStream for file in internal memory in android which is not inside applications default file directory.

I have created new directory in my application space. So openFileInput("filename") will only work for files in getFilesDir(). And openFileInput("filename") do not accept argument with path separaters "/" so I can change it to ../myfolder/.

Is there any way to get a FileInputStream on this ? ..

Note: Using normal APIs File = new File(... ) gives permission denied errors. And I have already created given Context.MODE_WORLD_WRITEABLE as the permission for my custom folder.

To make it clear : My file is here ==> /data/data/com.app.package/app_myfolder/file1.tmp where "myfolder" ==> is created with Context.MODE_WORLD_WRITEABLE permissions.

I want to open FileInputStream on file1.tmp. (Normally your files are here /data/data/com.app.package/files/file1.tmp and getFilesDir() points to this directory, so also openFileInput("") takes argument which exist in same default directory.)


回答1:


How to get FileInputStream for file in internal memory in android which is not inside applications default file directory.

You can't, unless the file in question is created using openFileOutput() with MODE_WORLD_READABLE, and that's not a very good idea (since any app can now read that file).

As the file was created by camera activity as a result for startActivityForResult() for MediaStore.ACTION_IMAGE_CAPTURE intent.

The camera activity should be storing the file out on external storage, not internal storage. Use the EXTRA_OUTPUT extra to indicate where the file should go.

So is there any way I can change this permissions ?

Assuming "camera activity" is referring to the one in the Android firmware, you will need to modify the firmware.



来源:https://stackoverflow.com/questions/4655003/how-to-get-fileinputstream-for-internal-memory-files-in-android-the-file-is-in

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!