Uri để thông báo âm thanh mặc định?


123

Tôi sử dụng Thông báo.Builder để tạo thông báo. Bây giờ tôi muốn sử dụng thông báo âm thanh mặc định với:

builder.setSound(Uri sound)

Nhưng Uri ở đâu để thông báo mặc định?

Câu trả lời:


267

hãy thử sử dụng Nhạc chuông để nhận Uri thông báo mặc định như:

Uri uri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

builder.setSound(uri);

50
Cảm ơn. Nhưng tôi đã thấy tôi có thể sử dụng setDefaults (Thông
báo.DEFAULT_SOUND

8
bạn cũng có thể vượt qua điều nàySettings.System.DEFAULT_NOTIFICATION_URI
Pratik Butani

46

builder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI) làm việc tốt


5
Cài đặt đến từ nhập android.provider.S Settings;
Chris Knight

29

Hai tùy chọn để sử dụng Default Notification Soundlà:

mBuilder.setDefaults(Notification.DEFAULT_SOUND);

hoặc sử dụng Lớp nhạc chuông :

mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));

12

tất cả các phương pháp này hoạt động

  1. mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));

  2. mBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI);

  3. mBuilder.setDefaults(Notification.DEFAULT_SOUND);

Tài liệu Google


3

Bạn cũng có thể sử dụng điều này:

Uri uri = Uri.parse(PreferenceManager.getDefaultSharedPreferences(this).
            getString("pref_tone", "content://settings/system/notification_sound"));
mBuilder.setSound(uri);

Tôi muốn nhận applicationâm thanh kênh không phải âm thanh hệ thống mặc định đã thử với NotificationChannel channel = new NotificationChannel(ApplicationClass.getInstance().HighNotificationChannelID, getString(R.string.incoming_sms), NotificationManager.IMPORTANCE_HIGH); channel.getSound();trả về default system soundxin vui lòng trợ giúp
Sagar

3

Đối với thông báo mặc định hệ thống

Uri uri = Ring NhạcManager.getDefaultUri (Nhạc chuông Trình quản lý.TYPE_NOTIFICATION);

Để thông báo tùy chỉnh

Uri customSoundUri = Uri.parse ("android.resource: //" + getPackageName () + "/" + R.raw.twirl);

Nguồn âm thanh thông báo (Tôi đã đổi tên thành "twirl" và được đặt trong res-> thư mục thô)

https://notifyingound.com/message-tones/twirl-470

Xây dựng thông báo:

NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.notificaion_icon)
                        .setContentTitle("Title here")
                        .setContentText("Body here")
                        .setSound(defaultSoundUri)
                        .setAutoCancel(true);



NotificationManager mNotifyMgr =
                (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

mNotifyMgr.notify(id, mBuilder.build());

0

Nếu ai đó vẫn cần, điều này hoạt động hoàn toàn tốt với âm thanh và độ rung.

        Context context = getApplicationContext();
    long[] vibrate = new long[] { 1000, 1000, 1000, 1000, 1000 };
    Intent notificationIntent = new Intent(context, MainActivity.class);

    PendingIntent contentIntent = PendingIntent.getActivity(context,
            0, notificationIntent,
            PendingIntent.FLAG_CANCEL_CURRENT);

    Resources res = context.getResources();
    Notification.Builder builder = new Notification.Builder(context);

    builder.setContentIntent(contentIntent)
            .setSmallIcon(R.drawable.notif)
            .setTicker("lastWarning")
            .setWhen(System.currentTimeMillis())
            .setAutoCancel(true)
            .setVibrate(vibrate)
            //.setContentTitle(res.getString(R.string.notifytitle)) 
            .setContentTitle("Notification")
            .setSound(Settings.System.DEFAULT_NOTIFICATION_URI)
            //.setContentText(res.getString(R.string.notifytext))
            .setContentText("Notification text"); 

    // Notification notification = builder.getNotification(); // until API 16
    Notification notification = builder.build();

    NotificationManager notificationManager = (NotificationManager) context
            .getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(NOTIFY_ID, notification);

Nếu bạn muốn vô hiệu hóa, ví dụ thay đổi rung sẽ rung thành dài mới [] {0,0,0,0,0}; Điều gần như tương tự bạn có thể làm với âm thanh hoặc sử dụng nếu tuyên bố khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.