无法在Nexus 7上播放默认播放器上的视频

时间:2014-11-12 08:20:55

标签: android

  

我正在使用android.content.Intent.ACTION_VIEW,但我无法在默认播放器上播放视频

File file = new File("fileUri");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "video/*");
startActivity(intent);

1 个答案:

答案 0 :(得分:0)

首先确保设备是否具有有效的默认播放器

如果它在意图中设置mimetype会有所帮助。并确保添加 read_external_storage 权限。

public static Intent getVideoIntent(String fileUrl) {
    Intent videoIntent = new Intent(Intent.ACTION_VIEW);
    videoIntent.setDataAndType(Uri.fromFile(new File(fileUrl)), getMimeType(fileUrl));

    return videoIntent;
}

public static String getMimeType(String url) {
    String type = null;
    String extension = MimeTypeMap.getFileExtensionFromUrl(url);

    if (extension != null) {
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extension);

        if (TextUtils.isEmpty(type))
            type = "video/*"; // No MIME type found, so use the video wildcard
    }

    return type;
}