I’m trying to launch an image which is written to my application directory with the builtin Android image viewer. This image has been written in a different part of the app to the app directory. When getting the following file:
super.getFilesDir() + "/current.png"
File.exists() returns true.
How can i launch the builtin Android image viewer to view this file?
Currently i’m doing:
File f = new File(super.getFilesDir()+"/current.png");
uri = Uri.parse("file://"+super.getFilesDir()+"/current.png");
startActivity(new Intent(Intent.ACTION_VIEW, uri));
And it keeps churning out:
10-11 13:09:24.367:
INFO/ActivityManager(564): Starting
activity: Intent {
act=android.intent.action.VIEW
dat=file:///data/data/com.davidgoemans.myapp/files/current.png
} 10-11 13:09:24.367:
ERROR/myapp(2166): Exception
occuredandroid.content.ActivityNotFoundException:
No Activity found to handle Intent {
act=android.intent.action.VIEW
dat=file:///data/data/com.davidgoemans.myapp/files/current.png
}
irrespective of what i change the uri schema to ( eg, content://, file://, media://, image:// ).
One way is to implement a context provider to give other applications access to your data.
Create a new class containing:
Add the content provider to your AndroidManifest.xml:
You should then be able to use
"content://uk.co.ashtonbrsc.examplefilecontentprovider/" + the full path to the imagein your ACTION_VIEW intent.