使用Intents打开最近编写的文件

时间:2010-12-02 13:02:12

标签: android android-intent android-mediascanner

我们正在从服务器下载文件并将其写入sdcard上的文件夹。写入完成后,我们会对该文件夹执行媒体扫描。当用户尝试打开文件进行查看时,我们会尝试利用Android的Intent机制并按如下方式提升Intent:

Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.fromFile(tempFile));
// MIME_TYPE could be either of: image/*, video/*, audio/*, text/*
myIntent.setType(MIME_TYPE);
startActivity(Intent.createChooser(myIntent, "Open file using..."));

在模拟器上,为此Intent启动了相机应用程序,但应用程序与NPE崩溃。在MOTOROLA里程碑上,我们正在举杯:“没有图像可以显示”。请注意,扫描完成后,照片实际上会显示在模拟器和手机的媒体库中。

不确定这里错过了什么;请帮忙。

1 个答案:

答案 0 :(得分:1)

奇怪的是,改变了

Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.fromFile(tempFile));
// MIME_TYPE could be either of: image/*, video/*, audio/*, text/*
myIntent.setType(MIME_TYPE);

Intent myIntent = new Intent(Intent.ACTION_VIEW);
// MIME_TYPE could be either of: image/*, video/*, audio/*, text/*
myIntent.setDataAndType(Uri.fromFile(tempFile), MIME_TYPE);

工作!