2013-10-27 37 views
0

如何意圖到系統媒體應用程序?如何意圖在Android系統媒體應用程序

因爲我想通過使用系統媒體應用程序在我的應用程序中播放視頻。

我試着下面的代碼,但沒有成功。

url = "http://www.ooklnet.com/files/381/381489/video.mp4"; 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    intent.addCategory(Intent.CATEGORY_APP_MUSIC); 
    startActivity(intent); 

但是,當我嘗試下面的代碼,它是全成,

url = "http://www.ooklnet.com/files/381/381489/video.mp4"; 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    startActivity(intent); 

但是,它需要我開兩個步驟:

  • 第一步是顯示對話框( Android系統&瀏覽器)進行選擇。

  • 第二步:當我選擇Android系統時,它顯示應用程序可以播放此視頻。

我想按 「播放」 按鈕,它會利用系統媒體應用運行,

請告訴我如何,

UPDATE從CommonWare收到答案後:

我可以使用下面的代碼準確地意圖系統媒體應用程序傢伙。

// String type = "audio/mpeg4-generic"; // It works for only Mobo Player 
String type = "video/mp4"; // It works for all video application 

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.setDataAndType(Uri.parse(url), type); 
startActivity(intent); 

我的設備已經存在第三媒體應用(摩博播放器,MX播放器和視頻), 的視頻應用系統的媒體應用,所以我們不能在設置卸載它。

P/S:我使用Android 2.2.1版本,

感謝,

+0

什麼是錯誤,請登錄貓嗎? – Kasma

+0

引起:android.content.ActivityNotFoundException:未發現處理Intent的活動{act = android.intent.action.VIEW cat = [android.intent.category.LAUNCHER,android.intent.category.APP_MUSIC] dat = http:/ /www.ooklnet.com/files/381/381489/video.mp4} –

回答

1

我想下面的代碼,但沒有成功。

您的系統上沒有任何活動可以播放視頻並且是音樂播放器。

第一步是顯示對話框(Android系統&瀏覽器)以供選擇。

用戶可以在任何他們想要的應用程序中顯示該視頻。

第二步:當我選擇Android系統時,它顯示應用程序可以播放此視頻。

推測這是在URL下載完成後發生的。您可以嘗試使用setDataAndType(),提供適當的MIME類型,以簡化這一點。

我想按「播放」按鈕,它會利用系統中的媒體應用程序中運行,

有沒有「系統的媒體應用程序」。設備可能有零個,一個或多個應用程序,可以從URL播放視頻。這些應用程序可以預先安裝或由用戶安裝。當您請求使用ACTION_VIEW播放視頻時,操作系統和用戶將決定將播放視頻的應用程序。

+0

真的非常感謝您的回答,我完全瞭解您並更新了問題。但我有另一個問題。 [你能告訴我](http://stackoverflow.com/questions/19587880/some-video-urls-play-good-some-not-in-http-streaming-android),請 –