0
  •   //如果存在多个MediaSession 可以这样
    MediaSessionManager mediaSessionManager = (MediaSessionManager) getSystemService(Context.MEDIA_SESSION_SERVICE);
    List<MediaController> activeSessions = mediaSessionManager.getActiveSessions(null);
    MediaController mediaController = null;
    for (MediaController session : activeSessions) {
        if (session.getPackageName().equals("你的应用包名")) {
            mediaController = session;
            break;
        }
    }
    //其他步骤和另一个评论差不多
    
    1302969105866940416  评论     打赏       波鲁萨利诺.黄猿
    •  //获取到当前正在运行的 MediaSession 对象。
      MediaSessionManager mediaSessionManager = getSystemService(Context.MEDIA_SESSION_SERVICE);
      MediaController mediaController = mediaSessionManager.getActiveSession();
      //检查当前是否存在活跃的 MediaSession。
      if (mediaController != null) {
          mediaController.getTransportControls().stop(); // 停止播放媒体
          mediaController.unregisterCallback(callback); // 取消回调监听
          mediaController.release(); // 释放 MediaSession
      }
      //释放完 MediaSession 后,将 MediaSession 的 Token 设置为空。
      mediaController = null;
      //通过以上步骤,释放 MediaSession 并将 Token 设置为 null,就可以触发回调到 Token 为 null 的情况
      
      1302969105866940416  评论     打赏       波鲁萨利诺.黄猿
      相关问题
      幻影~ · 安卓
      2024-04-26 19:25 6 4
      deanhu · AOSP
      2024-04-25 21:53 3 10
      幻影~ · 提问
      2024-04-13 20:13 10 2
      幻影~ · 找工作
      2024-04-07 10:44 17 2
      幻影~ · 问题
      2024-03-31 17:20 7 2
      TONYGFX · AOSP
      2024-03-28 17:11 4 2