diff --git a/system/btif/src/btif_rc.cc b/system/btif/src/btif_rc.cc
index 529f2cd3be198f7b21027e806df8a3c12ce84263..f3bf5f97f90e12c7d3e5da104b93f819352f5658 100644
--- a/system/btif/src/btif_rc.cc
+++ b/system/btif/src/btif_rc.cc
@@ -3051,6 +3051,7 @@ static void handle_get_capability_response(tBTA_AV_META_MSG* pmeta_msg,
       if ((p_rsp->param.event_id[xx] == AVRC_EVT_PLAY_STATUS_CHANGE) ||
           (p_rsp->param.event_id[xx] == AVRC_EVT_TRACK_CHANGE) ||
           (p_rsp->param.event_id[xx] == AVRC_EVT_APP_SETTING_CHANGE) ||
+          (p_rsp->param.event_id[xx] == AVRC_EVT_NOW_PLAYING_CHANGE) ||
           (p_rsp->param.event_id[xx] == AVRC_EVT_ADDR_PLAYER_CHANGE) ||
           (p_rsp->param.event_id[xx] == AVRC_EVT_UIDS_CHANGE)) {
         p_event = (btif_rc_supported_event_t*)osi_malloc(
@@ -3161,6 +3162,10 @@ static void handle_notification_response(tBTA_AV_META_MSG* pmeta_msg,
         break;
 
       case AVRC_EVT_NOW_PLAYING_CHANGE:
+        do_in_jni_thread(
+            FROM_HERE,
+            base::Bind(bt_rc_ctrl_callbacks->now_playing_contents_changed_cb,
+                       p_dev->rc_addr));
         break;
 
       case AVRC_EVT_AVAL_PLAYERS_CHANGE:
diff --git a/system/include/hardware/bt_rc.h b/system/include/hardware/bt_rc.h
index 382500df0f47bd5f49e2af22204ad8a7e0a5635c..dc46eca62fe80c03cc8d3ee1d27e3186eefe0aa8 100644
--- a/system/include/hardware/bt_rc.h
+++ b/system/include/hardware/bt_rc.h
@@ -615,6 +615,8 @@ typedef void (*btrc_ctrl_set_addressed_player_callback)(
     const RawAddress& bd_addr, uint8_t status);
 typedef void (*btrc_ctrl_addressed_player_changed_callback)(
     const RawAddress& bd_addr, uint16_t id);
+typedef void (*btrc_ctrl_now_playing_contents_changed_callback)(
+    const RawAddress& bd_addr);
 
 /** BT-RC Controller callback structure. */
 typedef struct {
@@ -639,6 +641,8 @@ typedef struct {
   btrc_ctrl_set_browsed_player_callback set_browsed_player_cb;
   btrc_ctrl_set_addressed_player_callback set_addressed_player_cb;
   btrc_ctrl_addressed_player_changed_callback addressed_player_changed_cb;
+  btrc_ctrl_now_playing_contents_changed_callback
+      now_playing_contents_changed_cb;
 } btrc_ctrl_callbacks_t;
 
 /** Represents the standard BT-RC AVRCP Controller interface. */