我正在开发一个应用程序,可以获取正在播放音乐/视频的其他应用程序的元数据。目前,我正在专注于Youtube Android应用程序。我想到MusixMatch可以做到这一点,所以这一定是可能的。据我所知,MusixMatch监听Youtube的MediaSession的任何更改,以检索元数据。我的问题是如何实现?
以下是我迄今为止尝试过的内容:
1.设置一个MediaBrowserService。 2.在MediaBrowserService上设置回调。 3.在服务上设置令牌。
但我仍然感到困惑。该服务应该能够在后台触发,即使应用程序已关闭。这意味着我不需要手动将服务绑定到任何内容。那么...它究竟是如何被触发的?我尝试添加了intent-filters,但我尝试过的都没有起作用。
以下是我尝试过的intent-filters列表...我尝试了很多,因为没有一个有效。
以下是我迄今为止尝试过的内容:
1.设置一个MediaBrowserService。 2.在MediaBrowserService上设置回调。 3.在服务上设置令牌。
但我仍然感到困惑。该服务应该能够在后台触发,即使应用程序已关闭。这意味着我不需要手动将服务绑定到任何内容。那么...它究竟是如何被触发的?我尝试添加了intent-filters,但我尝试过的都没有起作用。
以下是我尝试过的intent-filters列表...我尝试了很多,因为没有一个有效。
<receiver
android:name=".broadcastReceiver.YoutubeReceiver"
android:enabled="@bool/youtubeBroadcast"
android:exported="@bool/youtubeBroadcast"
tools:ignore="ExportedReceiver">
<intent-filter>
<action android:name="com.android.youtube.metachanged"/>
<action android:name="com.google.android.youtube.onPlaybackStateChanged"/>
<action android:name="com.google.android.youtube.onplaybackstatechanged"/>
<action android:name="com.google.android.youtube.player.YouTubePlayer.OnInitializedListener"/>
<action android:name="com.google.android.youtube.player.YouTubePlayer.PlaybackEventListener"/>
<action android:name="com.google.android.youtube.player.YouTubePlayer.OnFullscreenListener"/>
<action android:name="com.google.android.youtube.player.YouTubePlayer.PlayerStateChangeListener"/>
</intent-filter>
</receiver>