我希望我可以使用移动应用程序打开任何文件类型。
这是代码:
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
乌里 :
file:///data/data/com.package.name/files/sbx/523/filename.jpg
将显示所有日志,因此该文件存在。但是,在画廊开幕期间,我得到了一个"Unable to find item"
.
问题出在哪里?还有其他解决方案吗?
问题是您正在尝试打开Android私人区域中的文件,这就是为什么在打开图库时,您会得到"找不到项目"的原因。您必须将文件放在本地。如果你想打开安卓私人区域的文件,你应该被扎根。