我一直在集成OneSignal,无法解决此问题,因为我的自定义声音没有播放。 我创建了一个类别和渠道来支持Android 8 +。。另外,我不使用minifyEnabled或任何资源缩减。我的文件确实位于res / raw中。 这是我的JSON:
{
"app_id": "APP_ID",
"include_player_ids": ["PLAYER_ID"],
"data": {"foo": "bar"},
"priority": 10,
"contents": {"en": "English Message"},
"android_group": "GROUP_NAME",
"android_sound": "sound_2",
"android_channel_id": "CHANNEL_ID"
}
我还在“设置”中设置了自定义声音_2 ...
文件不是太大,因为我以前使用AlarmManager来显示通知,并且使用以下代码来设置声音和频道:
val sound = configureCustomSound(context.applicationContext, soundOfNotification)
val audioAttributes = configureAudioAttributes()
channel.setSound(sound, audioAttributes)
private fun configureCustomSound(context: Context, soundOfNotification: NotificationSoundEnum): Uri {
return Uri.parse(
"android.resource://" +
context.packageName +
"/" +
NotificationSoundsHelper.getCustomSound(soundOfNotification))
}
private fun configureAudioAttributes(): AudioAttributes? {
return AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ALARM)
.build()
}
我已经在10多种设备上进行了测试。它们都产生相同的行为。