Android - выбор песни для воспроизведения с помощью Intent - PullRequest
3 голосов
/ 08 апреля 2011

Я пытаюсь выбрать песню, используя активность, которая даст мета-информацию о песнях.Я хочу сделать это вместо простого файлового браузера.У меня есть следующий код, но, к сожалению, он также воспроизводит песню после нажатия.Я просто хочу, чтобы пользователь мог выбрать песню из своих MediaStore и действовать позже, не играя.

public class Main extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Intent intent = new Intent();
        intent.setAction(android.content.Intent.ACTION_PICK);
        intent.setData(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
        startActivity(intent);
    }
}

1 Ответ

4 голосов
/ 08 апреля 2011

Насколько я могу судить, «сборщик», который вы видите, является типом «предварительного просмотра» (глядя на него на моем телефоне).

Это немного похоже на «выбор» мелодии звонка.Например, ...

Вы видите список и можете выбрать каждый из них по очереди, чтобы получить предварительный просмотр.Когда вы выбираете мелодию звонка, которую вы хотите, вы нажимаете OK, и это возвращает выбор.Нажатие «Отмена» просто оставляет вещи такими, какими они были (существующий выбор мелодии сохраняется).

Я не вижу способа переопределить это поведение средства выбора и не нашел альтернативного способа (например, параметры Intent)) для достижения того, что вы хотите сделать.

Другими словами, насколько я понимаю, вы просто хотите, чтобы пользователь тихо выбрал музыкальный фрагмент, и он вернулся к вашей активности, но средство выбора (предварительного просмотра) нене работает таким образом.

Вы можете узнать, что пользователь предварительно просматривал / выбирал, когда он нажимал кнопку OK в средстве выбора, однако, если вы используете ...

startActivityForResult(intent, 1234);

Примечание, 1234 - этопросто произвольный код.

Если вы проверите Intent, возвращенный onActivityResult (), он будет иметь Uri контента музыкальной пьесы, выбранной пользователем до нажатия OK.

...