Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
419 views
in Technique[技术] by (71.8m points)

android - Set Notification sound as default alarm ringtone

What I've discovered is, that if I set notification sound as devices default alarm ringtone like this:

val alarmTone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM)
val builder = NotificationCompat.Builder(
        context,
        CHANNEL_ID
)
builder.setDefaults(Notification.DEFAULT_VIBRATE or Notification.DEFAULT_LIGHTS)
builder.priority = NotificationCompat.PRIORITY_DEFAULT
builder.setSound(alarmTone)

This works on almost all older device versions, but as soon as I test it on Android 8.0 device, it sets sound as default notification sound. How can I get default alarm ringtone for devices 8.0?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

After 8.0 Oreo You may have created the channel for play notification sound.

private static void initChannels(NotificationManager notificationManager) {
    if (Build.VERSION.SDK_INT < 26) {
        return;
    }

    NotificationChannel channel = new NotificationChannel("ID",
            "NAME",
            NotificationManager.IMPORTANCE_LOW);
    channel.setDescription("DESC");
    channel.enableVibration(false);
    AudioAttributes audioAttributes = new AudioAttributes.Builder()
            .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
            .setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE)
            .build();
    channel.setSound(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notification), audioAttributes);

    notificationManager.createNotificationChannel(channel);
}

Make sure you are using targetSdkVersion 26 or above


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...