Ответ 1
Арг, наконец, понял это, получив кучу кучи процесса Play Music. Вам нужно добавить
intent.putExtra("queryComplete", "It my life");
и все будет работать. Значение должно быть таким же, как и SearchManager.QUERY
extra.
Есть ли способ начать воспроизведение песни в приложении для музыкального плеера 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 говорится следующее: Намерение выполнить поиск музыкальных носителей и автоматически воспроизводить контент из результата, когда это возможно.
Таким образом, согласно документации, она должна иметь возможность воспроизводить песню. Но он только открывает результаты поиска и не воспроизводит его. Любые идеи, что мне здесь не хватает?
Спасибо за любую помощь, которую вы можете предложить.
Арг, наконец, понял это, получив кучу кучи процесса Play Music. Вам нужно добавить
intent.putExtra("queryComplete", "It my life");
и все будет работать. Значение должно быть таким же, как и SearchManager.QUERY
extra.
Я нашел один способ сделать это.
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);
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) {
}