2010-02-12 24 views
1

我想一個簡單的問題,但我沒有找到任何關於正確的做法。如何啓動不同的程序?

我想從我的應用程序啓動一個mediaplayer併發送播放器文件播放(流)。

自動選擇與我處理文件的MIME類型相關的播放器會很好。

啓動應用程序的唯一方法就是這一個。但我不知道是否有一個Android原生的方式。

Runtime r = Runtime.getRuntime(); 

    try { 
     if(child != null) { 
      child.destroy(); 
      child = null; 
     } 
     child = r.exec("player"); 
    } catch (Exception e) { 
     Log.e(TAG, "error: " + e.getMessage(), e); 
    } 

感謝

回答

3

請不要用你上面有在Android上列出的代碼。

您將需要創建一個ACTION_VIEW意圖描述文件的路徑及其MIME類型。然後,撥打startActivity()Intent。幸運的是,設備上會有一個能夠播放該文件的應用程序。

+0

thx CommonsWare,我會盡力弄清楚如何使用意圖。是否有可能啓動一個流?我的意思是,是否可以通過這種方式傳遞流?這是啓動應用程序的唯一方法嗎?在我的例子中沒有直接的方法嗎? – Andy 2010-02-12 21:47:06

+0

嘿,它再次。基於你的信息,我發現這個例子與谷歌:http://markmail.org/message/pfwpyaf7gkaqzdph#query:android%20intent%20ACTION_VIEW%20example+page:1+mid:pfwpyaf7gkaqzdph+state:results所以你的答案是非常有用的對我來說。 thx :) – Andy 2010-02-12 21:56:43

+0

我有其他問題。我試圖通過使用意圖啓動一個特殊的視頻播放器。我設置了MIME類型和videourl,像這樣:intent.setDataAndType(Uri.parse(Videourl),「*/*」);現在Android問我選擇什麼節目來播放這個流。但它並不要求我要求像「視頻」這樣的MIME類型的確切應用程序。我如何可以a)更改Android中的mimetyps在選擇「視頻」時啓動正確的應用程序或b)如何在不使用MIME類型的情況下直接啓動應用程序。 thx P.S .:我使用android模擬器與android 2.1 – Andy 2010-02-13 16:59:54

0

在Android中啓動其他應用程序有點奇怪,至少在我看來。通常通過創建一個Intent對象並將其傳遞給Context.startActivity()來完成此操作。根據你對其他應用程序的瞭解,你可以指定一個將要啓動的類,或者讓Android通過提供其他的代碼來確定要爲你運行什麼,讓我們說「不太具體」的信息。

您可能想要閱讀the Developer guide關於意圖和意圖過濾器以及documentation of the class Intent,尤其是顯式和隱式意向的解釋。

+0

thx給你也是。與CommonsWare說的幾乎一樣。 – Andy 2010-02-12 21:47:57

相關問題