Android:使用Intents以字节数组表示打开文件

时间:2010-08-06 09:56:17

标签: android file android-intent

我有点急于打开一个有意图的文件,以便android可以决定哪个应用程序应该处理这个文件。我的问题是我只有文件作为Base64表示,我解码为字节数组

现在我想发送一个意图并打开该文件。我尝试将其保存在内部存储中,并使用getFilesDir()给出的uri打开文件。这是我的代码

    FileOutputStream fos = openFileOutput(filename, Context.MODE_WORLD_READABLE );
    fos.write((byte[])result);
    fos.close();

    uri = Uri.fromFile(new File(getFilesDir(), filename));

    Intent myIntent = new Intent(Intent.ACTION_VIEW);
    myIntent.setData(uri);
    startActivity(myIntent);

不幸的是,这不起作用。我得到的只是一个ActivityNotFoundException(即使我试图打开一个* .jpg)

感谢您的任何意见!

1 个答案:

答案 0 :(得分:2)

Android不会尝试根据文件扩展名来猜测MIME类型。您需要在Intent

中明确设置MIME类型