为什么这不会触发默认的视频播放器?

时间:2011-11-24 09:22:01

标签: android video android-intent android-3.0-honeycomb

我在我的应用程序中使用以下代码,它总是用于使用Android 3.0中的默认视频播放器 - 3.2。我没有更新操作系统,但由于某些原因,当您选择要打开视频文件的应用程序时,默认视频播放器不再显示为选项。

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(filePath), "video/*");
startActivity(intent);

我可能已将setDataAndType()方法从Uri.fromFile(file)更改为Uri.parse(filepath),但这是否足以产生这样的差异?

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

尝试使用真实的MIME类型作为视频的实际类型,而不是使用带通配符的类型。

答案 1 :(得分:0)

我终于找到了解决问题的方法,我觉得这很奇怪。以下代码不起作用:

myIntent.setDataAndType(Uri.parse(filePath), "video/*");

......但这样做:

myIntent.setDataAndType(Uri.fromFile(new File(filePath)), "video/*");

如果您希望在能够打开视频文件的应用程序列表中弹出默认的OS视频播放器,则似乎需要Uri.fromFile()。我不知道为什么会这样。