2

我们正在从服务器下载文件并将其写入 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 Milestone 上,我们收到了一个 Toast,上面写着:“No image to show”。请注意,扫描完成后,照片实际上会显示在模拟器和手机的媒体库中。

不知道这里错过了什么;请帮忙。

4

1 回答 1

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);

工作!

于 2010-12-02T13:38:59.620 回答