Wie man einen Android-Benachrichtigungston spielt

Ich habe mich gefragt, wie ich eine Benachrichtigung klingen könnte, ohne es über den Medienstrom zu spielen. Im Moment kann ich dies über den Media Player machen, aber ich möchte nicht, dass es als Mediendatei spielt, ich möchte, dass es als Benachrichtigung oder Alarm oder Klingelton spielt. Heres ein Beispiel dafür, was mein Code jetzt aussieht:

MediaPlayer mp = new MediaPlayer(); mp.reset(); mp.setDataSource(notificationsPath+ (String) apptSounds.getSelectedItem()); mp.prepare(); mp.start(); 

  • So verwenden Sie Notification.deleteIntent
  • Wie ändere ich Benachrichtigungston durch Code in android?
  • Android: Aktivität verwendet alte Absicht, wenn Sie App aus der letzten Aufgabe starten
  • Ich gebe eine lokale Benachrichtigung zu bestimmten Zeit, mit Schalter, aber es ist nicht ausgelöst zu festgelegten Zeit
  • Ist es möglich zu prüfen, ob eine Benachrichtigung sichtbar oder storniert ist?
  • Stack-Benachrichtigungen in Kitkat (API 19) mit setGroup () funktioniert nicht
  • Benachrichtigungen in bestimmten Zeit jeden Tag android
  • Öffnen Sie die Anwendung, nachdem Sie auf Benachrichtigung geklickt haben
  • 8 Solutions collect form web for “Wie man einen Android-Benachrichtigungston spielt”

    Wenn jemand noch auf der Suche nach einer Lösung für diese, fand ich eine Antwort auf Wie man Klingelton / Alarmton in Android spielen

     try { Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification); r.play(); } catch (Exception e) { e.printStackTrace(); } 

    Sie können TYPE_NOTIFICATION zu TYPE_ALARM ändern, aber Sie wollen Ihren Ringtone r verfolgen, um zu stoppen, es zu spielen … sagen, wenn der Benutzer auf eine Schaltfläche oder etwas klickt.

    Sie können dies jetzt tun, indem Sie den Ton bei der Erstellung einer Benachrichtigung einfügen, anstatt den Ton separat anzurufen.

     //Define Notification Manager NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); //Define sound URI Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext()) .setSmallIcon(icon) .setContentTitle(title) .setContentText(message) .setSound(soundUri); //This sets the sound to play //Display notification notificationManager.notify(0, mBuilder.build()); 

    Wenn Sie möchten, dass ein Standard-Benachrichtigungs-Sound abgespielt wird, können Sie die setDefaults (int) -Methode der NotificationCompat.Builder Klasse verwenden:

     NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_notification) .setContentTitle(getString(R.string.app_name)) .setContentText(someText) .setDefaults(Notification.DEFAULT_SOUND) .setAutoCancel(true); 

    Ich glaube, das ist der einfachste Weg, um Ihre Aufgabe zu erfüllen.

    Es ist schon eine Weile her, seit deiner Frage, aber … Hast du versucht, den Audio-Stream-Typ einzustellen?

     mp.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); 

    Es muss vorbereitet werden.

    Versuche dies:

     public void ringtone(){ try { Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification); r.play(); } catch (Exception e) { e.printStackTrace(); } } 

    Sie können Notification and NotificationManager verwenden , um die gewünschte Benachrichtigung anzuzeigen. Sie können dann den Sound anpassen, den Sie mit Ihrer Benachrichtigung spielen möchten.

    Ich hatte so ziemlich die gleiche frage Nach einigen Recherchen, denke ich, dass, wenn Sie das Standard-System "Benachrichtigung Sound" spielen wollen, müssen Sie ziemlich viel eine Benachrichtigung anzeigen und sagen, dass es den Standard-Sound verwenden. Und es gibt etwas zu sagen für das Argument in einigen der anderen Antworten, dass, wenn Sie eine Benachrichtigung Sound spielen, sollten Sie auch eine Benachrichtigung Nachricht zu präsentieren.

    Allerdings ein wenig Tweaking der Benachrichtigung API und Sie können in der Nähe, was Sie wollen. Sie können eine leere Benachrichtigung anzeigen und dann nach einigen Sekunden automatisch entfernen. Ich denke, das wird für mich arbeiten; Vielleicht wird es für dich arbeiten.

    Ich habe eine Reihe von Bequemlichkeit Methoden in com.globalmentor.android.app.Notifications.java , die Sie erstellen können eine Benachrichtigung Sound wie com.globalmentor.android.app.Notifications.java :

     Notifications.notify(this); 

    Die LED blinkt auch, und wenn Sie Vibrationsberechtigung haben, wird eine Vibration auftreten. Ja, in der Benachrichtigungsleiste erscheint ein Benachrichtigungssymbol, das nach einigen Sekunden verschwindet.

    An dieser Stelle können Sie erkennen, dass, da die Benachrichtigung sowieso weggehen wird, Sie vielleicht auch eine Scrolling-Ticker-Nachricht in der Benachrichtigungsleiste haben; Das kannst du so machen:

     Notifications.notify(this, 5000, "This text will go away after five seconds."); 

    Es gibt viele andere Bequemlichkeitsmethoden in dieser Klasse. Sie können die ganze Bibliothek aus ihrem Subversion-Repository herunterladen und mit Maven erstellen. Es hängt von der Globalmentor-Core-Bibliothek ab , die auch mit Maven gebaut und installiert werden kann.

    Ich denke, das Konzept der "Benachrichtigung Sound" ist irgendwie falsch für Android UI.

    Das Android erwartete Verhalten ist, die Standardbenachrichtigung zu verwenden, um den Benutzer zu warnen. Wenn du einen Benachrichtigungsklang ohne das Statusleistensymbol spielst, bekommst du den Benutzer verwirrt ("was war das für ein Klang, hier gibt es kein Icon, vielleicht habe ich Hörprobleme?").

    So stellen Sie den Klang auf eine Benachrichtigung ein, z. B. hier: Einstellen von Ton für die Benachrichtigung

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.