Как запустить другую программу? - PullRequest
1 голос
/ 12 февраля 2010

Я думаю, что простой вопрос, но я не нашел ничего о том, как сделать это правильно.

Я хочу запустить медиаплеер из своего приложения и отправить этому проигрывателю файл для воспроизведения (стрим).

Было бы неплохо автоматически выбрать проигрыватель, связанный с типом mime файла, который я обрабатываю для проигрывателя.

Единственный способ запустить приложение - это один. Но мне интересно, есть ли андроид нативный способ.

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 ]

3 голосов
/ 13 февраля 2010

Пожалуйста, не используйте код, который вы перечислили выше на Android.

Вам нужно будет создать ACTION_VIEW Intent, описывающий путь к файлу вместе с его типом MIME. Затем назовите startActivity() на этом Intent. Если повезет, на устройстве появится приложение, способное воспроизвести этот файл.

0 голосов
/ 13 февраля 2010

Запуск других приложений в Android немного странный, по крайней мере, на мой взгляд. Обычно вы делаете это, создавая Intent объект и передавая его Context.startActivity(). В зависимости от того, что вы знаете о другом приложении и т. Д., Вы можете указать класс, который должен быть запущен, или позволить Android определить, что вам нужно, предоставив некоторую другую, скажем, «менее конкретную» информацию.

Возможно, вы захотите прочитать Руководство разработчика по фильтрам Intent и Intent, а также документацию класса Intent, особенно объяснение явных и неявных Intents.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...