Adnroid 找不到通知音频文件的路径

问题描述 投票:0回答:0

下午好。我在我的项目中使用自定义通知声音,初始编译不会出错并且会播放声音。 以后改其他地方的代码和后面的时候,提示没有声音,LogCat报错:

Failed to open file 'android.resource://inwou.onetgroup.inwouapp/2131755009'. (No such file or directory)

如预期的那样,通知文件位于 /raw 文件夹中

我的代码:

private fun createNotificationChannelRegular() {
        Log.e(
            "Inwou",
            "Regualr notification Channel ----------------------------------"
        )
        val serviceChannelRegular =
            NotificationChannel(REGULAR_ID, "Status", NotificationManager.IMPORTANCE_HIGH)
        val manager = getSystemService(NotificationManager::class.java)
        val audioAttr: AudioAttributes? = AudioAttributes.Builder()
            .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
            .setUsage(AudioAttributes.USAGE_NOTIFICATION_EVENT)
            .setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED)
            .build()
        serviceChannelRegular.lockscreenVisibility = Notification.VISIBILITY_PUBLIC
        serviceChannelRegular.enableLights(true)
        serviceChannelRegular.enableVibration(true)
        serviceChannelRegular.setSound(
            Uri.parse("android.resource://" + this.packageName + "/" + R.raw.message3),
            audioAttr
        )
        Log.w("Inwou", "Парсинг звукового файла ${this.packageName}/${R.raw.message3}")
        manager.createNotificationChannel(serviceChannelRegular)
    }

如果您使用重构重命名文件并再次构建项目,声音会再次出现。

我用: Android Studio Dolphin 2021.3.1 补丁1 目标 SDK 33

提前谢谢你

我尝试重命名文件,但没有给出想要的结果

更新。 在日志文件中,我看到从代码指向 1 个文件的日志记录,以及另一个文件的错误。相差1位数。

Screen

kotlin push-notification notifications android-notifications notification-channel
© www.soinside.com 2019 - 2024. All rights reserved.