From 2bb571320f4e3e8f4f64e72028e2a91666e2ce28 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 5 Aug 2025 20:43:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E8=B9=BF=E4=BB=A3=E7=A0=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qq_music/QQMusicManager.kt | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QQMusicManager.kt b/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QQMusicManager.kt index 0bfb00a28..552a78c9f 100644 --- a/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QQMusicManager.kt +++ b/local_plugins/qq_music/android/src/main/kotlin/com/yunqiinnovation/qq_music/QQMusicManager.kt @@ -449,17 +449,23 @@ class QQMusicManager(private val activity: Activity) { val songJson = songResult?.getString(Keys.API_RETURN_KEY_DATA) if (!songJson.isNullOrEmpty()) { try { - val songData = JsonParser.parseString(songJson).asJsonObject - syncData["currentSong"] = mapOf( - "id" to (songData.get("id")?.asString ?: ""), - "mid" to (songData.get("mid")?.asString ?: ""), - "name" to (songData.get("title")?.asString ?: ""), - "singer" to (songData.get("singer")?.asJsonObject?.get("title")?.asString ?: ""), - "album" to (songData.get("album")?.asJsonObject?.get("title")?.asString ?: ""), - "duration" to (songData.get("duration")?.asLong ?: 0L), - "coverUri" to (songData.get("album")?.asJsonObject?.get("coverUri")?.asString ?: "") - ) - Log.d(TAG, "歌曲信息同步成功: ${songData.get("title")?.asString}") + val jsonElement = JsonParser.parseString(songJson) + if (jsonElement.isJsonObject) { + val songData = jsonElement.asJsonObject + syncData["currentSong"] = mapOf( + "id" to (songData.get("id")?.asString ?: ""), + "mid" to (songData.get("mid")?.asString ?: ""), + "name" to (songData.get("title")?.asString ?: ""), + "singer" to (songData.get("singer")?.asJsonObject?.get("title")?.asString ?: ""), + "album" to (songData.get("album")?.asJsonObject?.get("title")?.asString ?: ""), + "duration" to (songData.get("duration")?.asLong ?: 0L), + "coverUri" to (songData.get("album")?.asJsonObject?.get("coverUri")?.asString ?: "") + ) + Log.d(TAG, "歌曲信息同步成功: ${songData.get("title")?.asString}") + } else { + Log.w(TAG, "返回的JSON不是有效的对象格式: $songJson") + syncData["currentSong"] = null + } } catch (e: Exception) { Log.e(TAG, "解析歌曲信息失败", e) syncData["currentSong"] = null