Javascript VLC intent始终返回结果代码0-结果\u已取消

Javascript VLC intent始终返回结果代码0-结果\u已取消,javascript,android,cordova,android-intent,vlc,Javascript,Android,Cordova,Android Intent,Vlc,此代码工作正常,并按预期启动视频播放,但在Cordova应用程序中退出VLC时,将返回正确的requestCode(42),但resultCode始终为0(RESULT_CANCELLED),返回的Intent为null。如果视频播放完毕,VLC自行退出,也会发生同样的情况。根据,我们应该得到一个包含额外位置等信息的返回意图(在退出时获取视频位置)的结果 其他意图可以很好地工作,例如拾取联系人意图 在Android电视模拟器、Nvidia Shield平板电脑和Android手机上测试(注4)。

此代码工作正常,并按预期启动视频播放,但在Cordova应用程序中退出VLC时,将返回正确的requestCode(42),但resultCode始终为0(RESULT_CANCELLED),返回的Intent为null。如果视频播放完毕,VLC自行退出,也会发生同样的情况。根据,我们应该得到一个包含额外位置等信息的返回意图(在退出时获取视频位置)的结果

其他意图可以很好地工作,例如拾取联系人意图

在Android电视模拟器、Nvidia Shield平板电脑和Android手机上测试(注4)。尝试了VLC2.0.6、最新Beta和夜间版本

   public void start(String uri, long position) {
    int vlcRequestCode = 42;
    Uri parsedUri = Uri.parse(uri);
    Intent vlcIntent = new Intent(Intent.ACTION_VIEW);
    vlcIntent.setPackage("org.videolan.vlc");
    vlcIntent.setDataAndTypeAndNormalize(parsedUri, "video/*");
    vlcIntent.putExtra("position", position);

    this.cordova.startActivityForResult(this, vlcIntent, vlcRequestCode);
}

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    JSONObject json = new JSONObject();

    json.put("requestCode", requestCode);
    json.put("resultCode", resultCode);
    json.put("intentIsNull", intent == null);

    this.callbackContext.success(json.toString());
}    
替换

vlcIntent.setPackage(“org.videolan.vlc”)

vlcIntent.setComponent(新组件名称(“org.videolan.vlc”、“org.videolan.vlc.gui.video.VideoPlayerActivity”)


这应该会给出您想要的结果。

您希望得到什么样的结果?你打算对结果做什么?我们期望-1个结果\u OK resultCode和一个有效的Intent对象,我们可以从中获取额外的\u位置值,以确定播放器在视频中的位置。非常感谢,这解决了问题!!