Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MX播放器打开,而不是通过Intent播放视频_Java_Android - Fatal编程技术网

Java MX播放器打开,而不是通过Intent播放视频

Java MX播放器打开,而不是通过Intent播放视频,java,android,Java,Android,我试图给用户一个在MX播放器中播放视频的选项,但它似乎只是打开应用程序,而不是实际播放视频,所以有人能帮我吗 我的代码: String videoStreamUrl = null; Intent intent; if (type.equals("movie")) { if (listDirector.get(0).getStremURL() != null) { videoStreamUrl = commonVideoUrl; } }els

我试图给用户一个在MX播放器中播放视频的选项,但它似乎只是打开应用程序,而不是实际播放视频,所以有人能帮我吗

我的代码:


String videoStreamUrl = null;
Intent intent;

if (type.equals("movie")) {
    if (listDirector.get(0).getStremURL() != null) {
        videoStreamUrl = commonVideoUrl;
    }
}else{
    videoStreamUrl = commonVideoUrl;
}
if(videoStreamUrl!=null) {
    PackageManager packageManager=getPackageManager();
    try {
        intent= packageManager.getLaunchIntentForPackage("com.mxtech.videoplayer.pro");
        if (null != intent)
            intent.setDataAndType(Uri.parse(videoStreamUrl), "video/*");
        startActivity(intent);
    }
    catch (ActivityNotFoundException e) {
        //MX Player pro isn't installed
        try{
            intent= packageManager.getLaunchIntentForPackage("com.mxtech.videoplayer.ad");
            if (null != intent)
                intent.setDataAndType(Uri.parse(videoStreamUrl), "video/*");
            startActivity(intent);
        }
        catch (ActivityNotFoundException er) {
            //No version of MX Player is installed.You should let the user know
        }
    }
}

通过调用
newintent(intent.ACTION\u视图)

以下是更正后的代码:

String videoStreamUrl = null;
Intent intent;

if (type.equals("movie")) {
    if (listDirector.get(0).getStremURL() != null) {
        videoStreamUrl = commonVideoUrl;
    }
} else {
    videoStreamUrl = commonVideoUrl;
}
if(videoStreamUrl!=null) {
    PackageManager packageManager=getPackageManager();
    try {
        intent= new Intent(Intent.ACTION_VIEW);
        intent.setClassName(context,"com.mxtech.videoplayer.pro");
        if (null != intent)
            intent.setDataAndType(Uri.parse(videoStreamUrl), "video/*");
        startActivity(intent);
    }
    catch (ActivityNotFoundException e) {
        //MX Player pro isn't installed
        try{
            intent= new Intent(Intent.ACTION_VIEW);
            intent.setClassName(context,"com.mxtech.videoplayer.ad");
            if (null != intent)
                intent.setDataAndType(Uri.parse(videoStreamUrl), "video/*");
            startActivity(intent);
        }
        catch (ActivityNotFoundException er) {
            //No version of MX Player is installed.You should 
            let the user know
        }
    }
}

最后的答案对我来说很有用,希望它能帮助我,这意味着意图数据没有传递给mxplayer。@NilayDani那么你能指出我的代码中出现了什么错误吗?如果你能尝试用你的代码替换,这里是视频意图。您在日志中打印了videoStreamUrl吗?@NilayDani没有回答我要查找的内容。无法解析方法“setClassName(java.lang.String)”请将上下文作为第一个参数传递,如果您知道mxplayer的包名也可以使用。我知道包名,请检查我的代码。getLaunchIntentForPackage(“com.mxtech.videoplayer.pro”)&getLaunchIntentForPackage(“com.mxtech.videoplayer.ad”);正如我在OP中提到的,应用程序启动而不是玩,所以这就是我想要弄明白的