我有点急于打开一个文件,以便 android 可以决定哪个应用程序应该处理这个文件。我的问题是我只有文件作为 Base64 表示,我将其解码为字节数组
现在我想发送一个 Intent 并打开那个文件。我尝试将它保存在内部存储中,并使用 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)
感谢任何输入!
最佳答案
Android 不会尝试根据文件扩展名猜测 MIME 类型。您需要在 Intent
中明确设置 MIME 类型。
关于Android:使用 Intents 以字节数组表示形式打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3422688/