启动文件意图:“无法找到项目”

时间:2014-03-05 10:00:39

标签: android android-intent start-activity

我希望我可以使用移动应用程序打开任何文件类型。

以下是代码:

    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"

问题出在哪里?还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

问题是你正在尝试打开android私有区域中的文件,这就是为什么在画廊开放期间,你得到一个“无法找到项目”。你必须把你的文件放在本地。如果你想打开一个android私有区域的文件,你应该扎根。