几周前我决定制作一个应用程序,这个应用程序只包含视频链接,允许用户在点击任何按钮链接时观看剪辑。
我正在使用此代码播放视频:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("http://www.yourvideo.mp4"), "video/mp4");
view.getContext().startActivity(intent);
但是,在某些情况下,此代码在多个设备中不起作用,我的应用程序的某些用户表示,只要按下任何链接,它就会强制关闭整个应用程序。我实际上在我的G1和Droid X中试过它,它工作得很好。
我做错了什么吗?请帮助我,我会非常感激。
答案 0 :(得分:6)
首先,视频可能存在问题,因为并非所有视频都是safe for streaming。
其次,并非所有设备都可以设置活动以支持流式传输的ACTION_VIEW
文件上的video/mp4
。您应该使用PackageManager
和queryIntentActivities()
来确认startActivity()
来电是否会找到匹配项,或者处理您获得的ActivityNotFoundException
。
答案 1 :(得分:3)
我写了这个:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("http://www.yourvideo.mp4"), "video/mp4");
然后我将权限android.permission.WRITE_EXTERNAL_STORAG
E添加到我的清单中。