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