如何开始一个不同的程序?

时间:2010-02-12 19:47:34

标签: android

我认为这是一个简单的问题,但我没有找到任何关于做正确的事情。

我想从我的应用程序启动媒体播放器并向该播放器发送文件(流)。

很高兴自动选择与我处理的文件的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);
    }

感谢

2 个答案:

答案 0 :(得分:3)

请不要使用Android上面列出的代码。

您需要创建一个ACTION_VIEW Intent来描述文件的路径及其MIME类型。然后,在startActivity()上致电Intent。幸运的是,设备上将有一个能够播放该文件的应用程序。

答案 1 :(得分:0)

在Android中启动其他应用程序有点奇怪,至少在我看来。您通常通过创建Intent对象并将其传递给Context.startActivity()来实现。根据您对其他应用程序的了解等,您可以指定要启动的类,或让Android通过提供其他一些来确定为您运行的内容,让我们说“不太具体”的信息。

您可能希望阅读有关Intents和Intent过滤器的the Developer guide以及documentation of the class Intent,尤其是显式和隐式Intents的解释。