2012-04-02 27 views
17

Có cách nào để bắt đầu phát bài hát trong ứng dụng trình phát nhạc của Google từ ứng dụng của tôi không? Tôi đang thử mã sau, nhưng máy nghe nhạc google chỉ mở các kết quả tìm kiếm & không thực sự phát bài hát.Sự cố khi phát bài hát trong trình phát Google Music

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

Các tài liệu cho INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH nói sau - Một mục đích để thực hiện tìm kiếm phương tiện truyền thông âm nhạc và tự động phát nội dung từ kết quả khi có thể.

Vì vậy, theo tài liệu, nó sẽ có thể phát bài hát. Tuy nhiên, nó chỉ mở ra kết quả tìm kiếm và không chơi nó. Bất kỳ ý tưởng những gì tôi đang thiếu ở đây?

Cảm ơn bạn đã trợ giúp bạn có thể cung cấp.

+0

Có may mắn với điều này không? –

+0

Bất kỳ thư nào như "không thể chuẩn bị kết hợp nhanh, vui lòng thử lại" từ nhạc trên google? – Karioki

Trả lời

0

Tôi đã tìm thấy một cách để thực hiện việc này.

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

True, tính năng này hoạt động nếu bạn có đường dẫn đến tệp trên thiết bị. Nhưng nó sẽ không hoạt động với âm nhạc Không giới hạn. –

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

Điều này vừa khởi chạy hoạt động chính của ứng dụng phải không? –

2

Argh, cuối cùng figured it out bằng cách nhận một đống đổ của quá trình Play Âm nhạc. Bạn cần phải thêm

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

và mọi thứ sẽ hoạt động. Giá trị phải giống với giá trị SearchManager.QUERY bổ sung.

Các vấn đề liên quan