2014-07-14 12 views
8

Otrzymuję powiadomienie push GCM. Teraz chcę dodać niestandardowy plik dźwiękowy zamiast domyślnego dźwięku. Próbowałem z Uri zAndroid GCM PushNotification - Dodaj dodaj niestandardowy plik dźwiękowy w aplikacji

pliku: ///res/raw/pop.mp3

w

Notification.DEFAULT_SOUND;

ale nie sukces. Udostępnij, jeśli masz lepsze rozwiązanie.

Moja GCMIntentService.java kod metoda jest poniżej -

/** 
* Issues a notification to inform the user that server has sent a message. 
*/ 
private static void generateNotification(Context context, String message) { 

    System.out.println("Called generateNotification>>>>>>>>>>>>>"+message); 
    NotificationManager notificationManager = (NotificationManager) context 
      .getSystemService(Context.NOTIFICATION_SERVICE); 
    // Notification notification = new Notification(icon, message, when); 

    String title = context.getString(R.string.app_name); 

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
      context) 
      .setSmallIcon(R.drawable.app_icon) 
      .setContentTitle(title) 

      .setStyle(
        new NotificationCompat.BigTextStyle().bigText(message)) 
      .setContentText(message); 

    Intent notificationIntent = new Intent(context, 
      SplashActivity.class); 
    PendingIntent intent = PendingIntent.getActivity(context, 0, 
      notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT); 

    mBuilder.setContentIntent(intent); 

    Notification notification = mBuilder.build(); 
    notification.flags |= Notification.FLAG_AUTO_CANCEL; 

    notification.defaults |= Notification.DEFAULT_SOUND; 
    notification.defaults |= Notification.DEFAULT_VIBRATE; 


    notificationManager.notify(0, notification); 



} 

Odpowiedz

15

Aby dodać niestandardowy dźwięk dodaj

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

znaczy w swojej zmiany kodu

notification.defaults |= Notification.DEFAULT_SOUND; 
notification.defaults |= Notification.DEFAULT_VIBRATE; 

do

notification.sound = Uri.parse("android.resource://" + getPackageName() + "/" +R.raw.pop); 
notification.defaults |= Notification.DEFAULT_VIBRATE;