Android:无法共享文件

时间:2011-11-10 14:02:14

标签: android share

当我尝试通过蓝牙,Dropbox等共享文件时,我遇到了问题。 这是我的代码:

Intent intent = new Intent(Intent.ACTION_SEND);   
        File file = new File(opt.getPath());
        String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
        String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
        intent.setType(mimetype);
        String path = "file://" + file.getAbsolutePath();
        intent.putExtra(Intent.EXTRA_STREAM, path);   
        startActivity(Intent.createChooser(intent, "Choose File"));     

例如,当我选择图像时,getFileExtensionFromUrl返回空字符串。 当mimetype正确时(例如application / pdf),我也无法共享文件(我收到消息“Unsupported file type”)。我做错了什么?

更新 我自己部分解决了这个问题。 这是代码:

Intent intent = new Intent(Intent.ACTION_SEND);   
        File file = new File(opt.getPath());
        String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(file.getAbsolutePath());
        String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
        intent.setType(mimetype);
        intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));   
        startActivity(Intent.createChooser(intent, "Choose File"));     

但getFileExtensionFromUrl函数仍然为视频返回空字符串(测试* .wmv)

更新。使用此代码解决了这个问题:

int dotPos = file.getName().lastIndexOf(".")+1;

String ext = file.getName()。substring(dotPos);

并删除

String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(file.getAbsolutePath());

0 个答案:

没有答案