4 Stimmen

Liste aller verfügbaren Benachrichtigungs-Klingeltöne in Android

Ich versuche, den Standard-Sound der Benachrichtigung zu ändern, und ich mag das hier:

     private void showNotification(Context context, String reminderid, String title, String shortinfo, String longinfo) 
     {
         mNM = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
         NOTIFICATION=Integer.parseInt(reminderid);
         Notification notification = new Notification(R.drawable.icon, title,
             System.currentTimeMillis());
         PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
             new Intent(context, RemindersActivity.class).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
         notification.setLatestEventInfo(context, shortinfo,
                    longinfo, contentIntent);  
         notification.flags |= Notification.FLAG_AUTO_CANCEL;
         notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");
         notification.defaults |= Notification.DEFAULT_VIBRATE;

         mNM.notify(NOTIFICATION, notification);
     }

Sie können aber feststellen, dass ich der Nummer die ID "6" für die URI.withAppendedPath() Ich muss alle verfügbaren Benachrichtigungs-Klingeltöne für den Benutzer auflisten und ihn wählen lassen, und ich werde die ID dessen, was er wählt, anstelle von "6" übergeben.

Hier sagt Google:

In diesem Fall ist die genaue ID der Mediendatei ("6") bekannt und wird an den Content Uri angehängt. Wenn Sie die genaue ID nicht kennen, müssen Sie alle im MediaStore verfügbaren Medien mit einem ContentResolver abfragen. Weitere Informationen zur Verwendung eines ContentResolvers finden Sie in der Dokumentation zu Content Providern.

Wie kann ich das tun, was sie sagen (beachten Sie, dass ich nie mit Inhaltsanbietern oder Auflösern gearbeitet habe)? und dem Benutzer die Möglichkeit geben, den Klingelton für die Benachrichtigung wie in den Telefoneinstellungen zu wählen?

Vielen Dank im Voraus.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X