2015-09-16 35 views
0

我在我的/res/raw/文件夾中有一個視頻,我想使用設備的本機視頻播放器啓動它。無法啓動視頻播放器活動

這是我的代碼:

String packageName = this.getPackageName(); 
Uri uri = Uri.parse("android.resource://" + packageName + "/raw/" + R.raw.my_video); 
Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW); 
intent.setDataAndType(uri, "video/*"); 
startActivity(intent); 

當我特里結構開始崩潰的視頻和我的logcat得到這個錯誤:

09-16 15:05:51.959:E/AndroidRuntime(23298):致命異常:主 09-16 15:05:51.959:E/AndroidRuntime(23298):java.lang.IllegalStateException:無法執行的活動的方法

我在隨機網頁上的託管mp4文件上嘗試了Uri.parse(String),結果相同。

我的問題是什麼?

+0

後完整的日誌 –

回答

0

嗨請嘗試以下代碼,希望它會幫助你

Uri intentUri = Uri.parse("android.resource://"+ packageName + "/" + R.raw.my_video); 

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW); 
intent.setDataAndType(intentUri, "video/mp4"); 
startActivity(intent); 
+0

都能跟得上 - 沒有工作:( – 000000000000000000000

+0

什麼是您的視頻文件的擴展名 –

+0

這是一個? mp4文件 – 000000000000000000000

3

的問題是你正在使用錯誤的原始文件夾名稱。

Uri uri = Uri.parse("android.resource://" + packageName + "/raw/" + R.raw.my_video); 

刪除和使用是這樣的。

Uri uri = Uri.parse("android.resource://" + packageName + "/" + R.raw.my_video); 
+0

顯然不是唯一的問題 - 仍然不工作:( – 000000000000000000000

+0

是否增加了權限? android.permission.WRITE_EXTERNAL_STORAGE – Shadow

+0

已添加權限...沒有任何更改:( – 000000000000000000000

0

添加/raw額外的在你的URI路徑,請使其

Uri uri = Uri.parse("android.resource://" + packageName + "/" + R.raw.my_video); 
+0

是的,但它仍然不起作用,我刪除它後:( – 000000000000000000000

+0

請使用視頻視圖,可能有意圖的問題,因爲當我在我的設備上運行它給我的活動沒有發現異常, – theLazyFinder

+0

所以使用視頻視圖或媒體播放器 – theLazyFinder