2012-04-02 37 views
17

Googleミュージックプレーヤーのアプリで曲を再生する方法はありますか?私は次のコードを試していますが、googleの音楽プレーヤーは検索結果を開きます&は実際に曲を再生しません。音楽メディアの検索を実行し、自動的にその結果、可能な場合からコンテンツを再生する 意図を -Googleミュージックプレーヤーで曲を再生するときに問題が発生する

Intent intent = new Intent(); 
    intent.setAction(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH); 
    intent.putExtra(SearchManager.QUERY, "It's 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の説明は次の語ります。

ドキュメントによれば、その曲を再生できるはずです。しかし、それは検索結果を開き、それを再生しません。私がここで紛失しているものは何ですか?

ご協力いただきありがとうございます。

+0

これで運がいいですか? –

+0

「インスタントミックスを準備できませんでした」というメッセージがGoogleの音楽からもう一度お試しください。 – Karioki

答えて

0

これを行う方法が見つかりました。

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); 
+0

これは、デバイス上にファイルへのパスがある場合に有効です。しかし、All Accessの音楽などでは機能しません。 –

0
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) { 
} 
+0

これはちょうどアプリのメインアクティビティを起動しますか? –

2

なんてこった、最後にプレイミュージック・プロセスのヒープ・ダンプを取得することにより、それを考え出しました。あなたが追加する必要があります

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

すべてが動作します。値はSearchManager.QUERYと同じでなければなりません。

関連する問題