我正在尝试播放和播放视频。当我使用第一个URI(在下面的代码中注释掉)时,我可以让它工作,但是当我尝试使用第二个URI(来自资源)时,我收到以下错误:
ERROR/AndroidRuntime(1052): android.content.ActivityNotFoundException: No Activity found to handle Intent { dat=android.resource://com.slamdunksoftware.presentation/2130968576 typ=video/* }
从研究错误看,我可能不得不在清单中声明一个活动,但我不确定这是否适用于此。有人能指出我正确的方向吗?
Intent in = new Intent(Intent.ACTION_VIEW);
//Uri uri = Uri.parse(Environment.getExternalStorageDirectory().toString() + "/page4a.m4v");
Uri uri = Uri.parse("android.resource://com.slamdunksoftware.presentation/" + R.raw.page4a);
in.setDataAndType(uri, "video/*");
startActivity(in);
答案 0 :(得分:1)
不,您不必在清单中声明任何内容。您只在清单文件中声明自己的Activities
。在上面的例子中,您正在尝试播放视频并依靠操作系统提供程序来执行此操作。正如您刚刚体验到的那样,并非所有设备(或仿真器)都有应用程序来播放视频。因此,您可以在此处创建自己的Activity
来播放视频: