Почему это не запускает видео плеер по умолчанию?

Я использую следующий код в моем приложении, и он всегда используется для работы с видеоплеером по умолчанию в 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 ответа

Решение

Я наконец нашел решение своего вопроса, и я думаю, что это довольно странно. Следующий бит кода не работает:

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

... но это делает:

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

Казалось бы, что Uri.fromFile() требуется, если вы хотите, чтобы видео проигрыватель ОС по умолчанию появлялся в списке приложений, способных открывать видеофайл. Я понятия не имею, почему это так.

Попробуйте использовать реальный тип MIME для реального типа видео, а не тип с подстановочными знаками.

Другие вопросы по тегам