Android Notification Sound

Я использовал новый конструктор NotificationCompat, и я не могу получить уведомление, чтобы сделать звук. Он будет вибрировать и мигать светом. В документации по Android содержится установка стиля, который я сделал с:

builder.setStyle(new NotificationCompat.InboxStyle()); 

Но нет звука?

Полный код:

 NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle("Notifications Example") .setContentText("This is a test notification"); Intent notificationIntent = new Intent(this, MenuScreen.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(contentIntent); builder.setAutoCancel(true); builder.setLights(Color.BLUE, 500, 500); long[] pattern = {500,500,500,500,500,500,500,500,500}; builder.setVibrate(pattern); builder.setStyle(new NotificationCompat.InboxStyle()); // Add as notification NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); manager.notify(1, builder.build()); 

Что не было в моем предыдущем коде:

 Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); builder.setSound(alarmSound); 

Просто поместите свой звуковой файл в папку Res\raw\siren.mp3 , затем используйте этот код:

Для пользовательского звука:

 Notification notification = builder.build(); notification.sound = Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.siren); 

Для звука по умолчанию:

 notification.defaults |= Notification.DEFAULT_SOUND; 

Для пользовательской вибрации:

 long[] vibrate = { 0, 100, 200, 300 }; notification.vibrate = vibrate; 

Для вибрации по умолчанию:

 notification.defaults |= Notification.DEFAULT_VIBRATE; 

Другой способ для звука по умолчанию

 builder.setDefaults(Notification.DEFAULT_SOUND); 

ИСПОЛЬЗОВАНИЕ Может кодировать

  String en_alert, th_alert, en_title, th_title, id; int noti_all, noti_1, noti_2, noti_3, noti_4 = 0, Langage; class method Intent intent = new Intent(context, ReserveStatusActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); intent = new Intent(String.valueOf(PushActivity.class)); intent.putExtra("message", MESSAGE); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addParentStack(PushActivity.class); stackBuilder.addNextIntent(intent); // PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); // android.support.v4.app.NotificationCompat.BigTextStyle bigStyle = new NotificationCompat.BigTextStyle(); // bigStyle.bigText((CharSequence) context); notification = new NotificationCompat.Builder(context) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(th_title) .setContentText(th_alert) .setAutoCancel(true) // .setStyle(new Notification.BigTextStyle().bigText(th_alert) ตัวเก่า // .setStyle(new NotificationCompat.BigTextStyle().bigText(th_title)) .setStyle(new NotificationCompat.BigTextStyle().bigText(th_alert)) .setContentIntent(pendingIntent) .setNumber(++numMessages) .build(); notification.sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); notificationManager.notify(1000, notification); 

Просто введите простой код:

 notification.sound = Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.sound_file); 

Для звука по умолчанию:

 notification.defaults |= Notification.DEFAULT_SOUND; 

Вы должны использовать RingtoneManager

 private static final int MY_NOTIFICATION_ID = 1; private NotificationManager notificationManager; private Notification myNotification; private final String myBlog = "http://niravranpara.blogspot.com/"; 

Код для noficationmanager с мелодией звонка вы также можете установить мелодию звонка RingtoneManager.TYPE_RINGTONE

 notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri .parse(myBlog)); PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT); Notification note = new Notification(R.drawable.ic_launcher, "Alarm", System.currentTimeMillis()); note.setLatestEventInfo(getApplicationContext(), "Alarm", "sound" + " (alarm)", pi); Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); if(alarmSound == null){ alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); if(alarmSound == null){ alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); } } note.sound = alarmSound; note.defaults |= Notification.DEFAULT_VIBRATE; note.flags |= Notification.FLAG_AUTO_CANCEL; notificationManager.notify(MY_NOTIFICATION_ID, note); 

Вы должны использовать строитель. setSound

 Intent notificationIntent = new Intent(MainActivity.this, MainActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(MainActivity.this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(contentIntent); builder.setAutoCancel(true); builder.setLights(Color.BLUE, 500, 500); long[] pattern = {500,500,500,500,500,500,500,500,500}; builder.setVibrate(pattern); builder.setStyle(new NotificationCompat.InboxStyle()); Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); if(alarmSound == null){ alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); if(alarmSound == null){ alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); } } // Add as notification NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); builder.setSound(alarmSound); manager.notify(1, builder.build()); 

Вы можете сделать функцию:

 public void playNotificationSound() { try { Uri alarmSound = `Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + MyApplication.getInstance().getApplicationContext().getPackageName() + "/raw/notification");` Ringtone r = RingtoneManager.getRingtone(MyApplication.getInstance().getApplicationContext(), alarmSound); r.play(); } catch (Exception e) { e.printStackTrace(); } } 

Вызовите эту функцию, когда вы получаете уведомление.

Здесь raw – это папка в res, а уведомление – это звуковой файл в необработанной папке.

1-й поместите файл «yourmp3file» .mp3 в папку raw (то есть внутри папки Res)

2-й в вашем коде положить ..

 Notification noti = new Notification.Builder(this) .setSound(Uri.parse("android.resource://" + v.getContext().getPackageName() + "/" + R.raw.yourmp3file))//*see note 

Это то, что я вложил в свой onClick (View v) как только «context (). GetPackageName ()« не работает оттуда, поскольку он не получит никакого контекста

 notification.sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); 

Вы можете сделать следующее:

 MediaPlayer mp; mp =MediaPlayer.create(Activity_Order_Visor_Atender.this, R.raw.ok); mp.start(); 

Вы создаете пакеты между вашими ресурсами с именем raw, и там вы держите свои звуки, а затем просто называете это.

по экземпляру classа Notification.builder (строитель), который приведен ниже, вы можете воспроизводить звук по умолчанию при уведомлении:

 builder.setDefaults(Notification.DEFAULT_SOUND); 
  • Истекает ли идентификатор регистрации GCM?
  • Уведомление Не показывать
  • PendingIntent работает правильно для первого уведомления, но неправильно для остальных
  • Как использовать Notification.Builder
  • Лучший способ сериализации NSData в hexadeximal string
  • я хочу показать уведомление в 8:00 ежедневно
  • Уведомление о восстановлении задачи, а не конкретной деятельности?
  • getIntent () Дополнительно всегда NULL
  • Как нарисовать представление поверх всего?
  • Отсутствие права на уведомление Push Push
  • возобновление деятельности извещения
  • Interesting Posts

    Безопасно удалить OSX's / private / var / folders / * при перезагрузке?

    Убить некоторые процессы с помощью имени файла .exe

    Oracle (ORA-02270): нет соответствующего уникального или первичного ключа для этой ошибки в столбце

    Использование Android RecognizerIntent с Bluetooth-гарнитурой

    Как опустить значения NA при одновременном вставке нескольких значений столбцов?

    Разница в int8_t, int_least8_t и int_fast8_t?

    Захват времени выхода функции с помощью __gnu_mcount_nc

    Можно ли использовать динамическое выражение xPath в таблице стилей xslt?

    Нечетная ситуация для «не может ссылаться на это до того, как конструктор супертипа был вызван»

    Получить выбранное значение выпадающего меню с помощью jQuery

    Очистка TPM не запрашивает новый пароль, но «сменить пароль владельца» запрашивает старый

    Stack, Static и Heap в C ++

    Поиск замещения регулярного выражения в Sublime Text 2

    Являются ли session и sessionScope одинаковыми в JSP EL?

    c #: getter / setter

    Давайте будем гением компьютера.