我的/res/raw/
文件夹中有一个视频,我想使用该设备的原生视频播放器启动它。
这是我的代码:
String packageName = this.getPackageName();
Uri uri = Uri.parse("android.resource://" + packageName + "/raw/" + R.raw.my_video);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "video/*");
startActivity(intent);
当我试图启动视频时,它会崩溃,我在LogCat中收到此错误:
09-16 15:05:51.959:E / AndroidRuntime(23298):致命异常:主要 09-16 15:05:51.959:E / AndroidRuntime(23298):java.lang.IllegalStateException:无法执行活动的方法
我在随机网页上的托管mp4文件上尝试了Uri.parse(String)
,结果相同。
我的问题是什么?
答案 0 :(得分:3)
问题是您使用了错误的原始文件夹名称。
Uri uri = Uri.parse("android.resource://" + packageName + "/raw/" + R.raw.my_video);
删除并使用这样的内容。
Uri uri = Uri.parse("android.resource://" + packageName + "/" + R.raw.my_video);
答案 1 :(得分:0)
您好请尝试以下代码希望它能帮到您
Uri intentUri = Uri.parse("android.resource://"+ packageName + "/" + R.raw.my_video);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(intentUri, "video/mp4");
startActivity(intent);
答案 2 :(得分:0)
您在URI路径中添加了/raw
额外信息,请将其设为
Uri uri = Uri.parse("android.resource://" + packageName + "/" + R.raw.my_video);