2013-12-09 19 views
5

Phiên bản ngắn
Ứng dụng Android Spotify đã giới thiệu công tắc 'Tình trạng phát sóng thiết bị' trong bản phát hành gần đây, tôi muốn nhận các chương trình phát sóng đó trong ứng dụng của mình. Những chương trình phát sóng nào có sẵn và tôi nên định cấu hình BroadcastReceiver như thế nào?Hành động Spotify chính xác cho bộ lọc mục đích hiện đang phát là gì?

Phiên bản rambling dài
Tôi tích hợp tính năng đang phát vào ứng dụng Android và làm việc với hầu hết các trình phát đa phương tiện chính. Tôi muốn đưa nó vào Spotify cũng như đây là những gì tôi chủ yếu sử dụng để chơi nhạc.

tôi thấy một vài bài viết Stack Overflow khác về việc đạt được này (How is it possible to know what's spotify is playing from an external Android app?Intercept/Get Data sent to Spotify Widget on Android ví dụ) và tôi cũng sử dụng adb shell dumpsys chương trình phát sóng hoạt động lệnh để xác định những gì tôi tin rằng là hai hành động mà tôi quan tâm đến

com.spotify.mobile.android.playbackstatechangedcom.spotify.mobile.android.metadatachanged

Tôi đã sử dụng công tắc Trạng thái phát sóng thiết bị từ chính ứng dụng Spotify và tôi rất vui khi tắt/kích hoạt các sự kiện phát sóng này.

Sự cố mà tôi gặp phải là các thư chỉ dường như được gửi không thường xuyên. Tôi nhận được các sự kiện playstatechanged khi bạn có thể mong đợi họ (chơi, tạm dừng, tiếp theo, trước đó) nhưng họ không chứa bất kỳ thông tin nào liên quan đến bản nhạc hiện tại. các sự kiện metadatachanged xảy ra khá thường xuyên và không có mô hình rõ ràng. Kết hợp điều này làm cho nó rất khó khăn (đọc, không thể) để biết bài hát nào (nếu có) hiện đang phát. Trên một phiên tốt, mọi thứ có thể diễn ra tốt đẹp hàng giờ, các sự kiện metadatachang được kích hoạt bất cứ khi nào một bài hát mới bắt đầu, vào những lúc khác, tôi chỉ có thể nhận được một sự kiện trong một phiên.

Tôi đã nhận thấy rằng một loạt các sự kiện có thể được kích hoạt bằng cách bật/tắt WiFi và (có thể) thú vị nếu tôi nghe danh sách phát có gắn dấu sao sau đó tôi nhận được kết quả hợp lý hơn đáng kể.

Một số bài đăng khác đề xuất rằng tôi sẽ có thể sử dụng các hành động Android chuẩn com.android.music.playbackcomplete, com.android.music.playstatechanged và com.android.music.metachanged nhưng phiên bản ứng dụng Spotify của tôi đã không xuất hiện để kích hoạt chúng (Tôi đang sử dụng chúng để tích hợp với trình phát media chuẩn).

Tôi biết rằng đây là một tính năng mới trong ứng dụng Spotify và chưa được tài liệu, nhưng có ai đã thành công trong việc tích hợp tính năng này vào ứng dụng của họ không? Nếu vậy, bạn có thể chia sẻ cấu hình của BroadcastReceiver của mình. Hoặc, nếu có một cách tiếp cận tốt hơn, tôi cũng muốn nghe điều đó.

Phiên bản của ứng dụng Spotify mà tôi đang sử dụng là 0.7.4.606.

Trả lời

-1

Tôi đã nhận ra, Spotify không kích hoạt com.android.music.metachanged cho các bản nhạc đã tải xuống. Nó chỉ kích hoạt nó cho bản nhạc đầu tiên trong danh sách phát đã tải xuống, thay vì nó chỉ kích hoạt com.spotify.mobile.android.queuechanged mà không có thông tin nào ngoài việc gửi ...

Có phải lỗi trong sự kiện không?

+2

Nếu bạn cần hỏi điều gì đó hoặc có sự nhầm lẫn, bạn chỉ có thể hỏi trong một bình luận hoặc trong một câu hỏi mới. Đây không phải là câu trả lời cho câu hỏi. – AtanuCSE

+0

Bạn có tìm hiểu thêm thông tin về điều này không? Spotify xếp hàng đang hoạt động đáng tin cậy trên thiết bị của tôi, nhưng tôi nhận được khiếu nại từ người dùng .. –

1

Tôi đã nhận các hành động Bộ lọc mục đích sau để hoạt động bằng cách sử dụng Spotify 2.7.0.883:

<!-- AndroidManifest.xml --> 
    ... 
    <receiver 
     android:name=".MyBroadcastReceiver" 
     android:enabled="true" 
     android:exported="true" > 

     <intent-filter> 

      <!-- Spotify --> 
      <action android:name="com.spotify.music.playbackstatechanged" /> 
      <action android:name="com.spotify.music.metadatachanged" /> 
      <action android:name="com.spotify.music.queuechanged" /> 

     </intent-filter> 

    </receiver> 

Theo như các tính năng bổ sung Ý định kèm, Spotify developer article này rất hữu ích (Nhưng hãy cẩn thận hành động Lọc Ý định không chính xác của họ như niêm yết này).

+0

Xin lỗi nhưng nó không hoạt động đối với tôi. Bạn có thể giúp tôi với điều đó không ?? – Nahid

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