我希望我可以使用移动应用程序打开任何文件类型。
以下是代码:
File mFile = new File( file.getLocalPath() + file.getFileName() );
Log.i("path", file.getLocalPath() + file.getFileName());
if( mFile.exists() )
{
MimeTypeMap map = MimeTypeMap.getSingleton();
String ext = MimeTypeMap.getFileExtensionFromUrl(mFile.getName());
String type = map.getMimeTypeFromExtension(ext);
if (type == null)
type = "*/*";
Log.i("type", type);
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
Uri data = Uri.fromFile(mFile);
Log.i("uri", data.toString());
intent.setDataAndType( data, type );
try {
startActivity(intent);
} catch (android.content.ActivityNotFoundException e) {
}
}
日志:
路径:/data/data/com.package.name/files/sbx/523/filename.jpg
输入:image/jpeg
Uri :file:///data/data/com.package.name/files/sbx/523/filename.jpg
显示所有日志,因此文件存在。
但是,在画廊开放期间,我得到"Unable to find item"
。
问题出在哪里?还有其他解决方案吗?
答案 0 :(得分:0)
问题是你正在尝试打开android私有区域中的文件,这就是为什么在画廊开放期间,你得到一个“无法找到项目”。你必须把你的文件放在本地。如果你想打开一个android私有区域的文件,你应该扎根。