2017-07-31 39 views
-1

此代碼工作正常,並開始爲預期的視頻播放,但在我們的科爾多瓦應用程序打了退堂鼓VLC時,返回正確的requestCode(42),但resultCode爲始終爲0(RESULT_CANCELLED )並且返回的Intent爲空。如果視頻播放完畢並且VLC自行退出,則會發生同樣的情況。根據documentation,我們應該獲得包含extra_position(返回時獲取視頻位置)等返回Intent的RESULT_OK。VLC意圖總是返回結果碼0 - RESULT_CANCELED

其他意圖工作正常,如挑選聯繫人意圖。

測試在Android電視模擬器,NVIDIA SHIELD平板電腦和Android手機(注4)。試過VLC 2.0.6,最新的Betas和每晚構建。

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()); 
}  
+0

你期待什麼樣的結果?計劃如何處理結果? –

+0

我們預期-1 RESULT_OK resultCode爲和有效的意圖對象,我們可以從以確定在視頻播放器爲 –

回答

1

更換

vlcIntent.setPackage("org.videolan.vlc");

vlcIntent.setComponent(new ComponentName("org.videolan.vlc", "org.videolan.vlc.gui.video.VideoPlayerActivity"));

這應該給你正在尋找的結果。

+0

感謝這麼多的extra_position值,這個固定的問題! –