Подтвердить что ты не робот

Неисправность воспроизведения песни в проигрывателе Google Music

Есть ли способ начать воспроизведение песни в приложении для музыкального плеера Google из моего приложения? Я пытаюсь использовать следующий код, но музыкальный плеер google открывает результаты поиска и фактически не воспроизводит песню.

    Intent intent = new Intent();
    intent.setAction(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
    intent.putExtra(SearchManager.QUERY, "It my life");
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.setPackage("com.google.android.music");
    activity.startActivity(intent);

В документации для INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH говорится следующее: Намерение выполнить поиск музыкальных носителей и автоматически воспроизводить контент из результата, когда это возможно.

Таким образом, согласно документации, она должна иметь возможность воспроизводить песню. Но он только открывает результаты поиска и не воспроизводит его. Любые идеи, что мне здесь не хватает?

Спасибо за любую помощь, которую вы можете предложить.

4b9b3361

Ответ 1

Арг, наконец, понял это, получив кучу кучи процесса Play Music. Вам нужно добавить

intent.putExtra("queryComplete", "It my life");

и все будет работать. Значение должно быть таким же, как и SearchManager.QUERY extra.

Ответ 2

Я нашел один способ сделать это.

Intent intent = new Intent();  
intent.setAction(android.content.Intent.ACTION_VIEW);  
File file = new File(YOUR_SONG_URI);  
intent.setDataAndType(Uri.fromFile(file), "audio/*");  
startActivity(intent);

Ответ 3

Intent i;
PackageManager manager = getPackageManager();
try {
i = manager.getLaunchIntentForPackage("com.google.android.music");
if (i == null)
     throw new PackageManager.NameNotFoundException();
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {
}