Android GCM PushNotification - Add add custom sound file in app

10,461

To add custom sound add this

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

i.e. In your code change

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

to

notification.sound = Uri.parse("android.resource://" + getPackageName() + "/" +R.raw.pop);
notification.defaults |= Notification.DEFAULT_VIBRATE;
Share:
10,461
Kalu Khan Luhar
Author by

Kalu Khan Luhar

A passionate mobile Application Developer. Always eager to learn new technologies. I love to help people with whatever I got.

Updated on July 16, 2022

Comments

  • Kalu Khan Luhar
    Kalu Khan Luhar almost 2 years

    I am getting GCM Push Notification successfully. Now i want to add custom sound file instead of default sound. I have tried with Uri from

    file:///res/raw/pop.mp3

    in

    Notification.DEFAULT_SOUND;

    but not success. Please share if you have better solution.

    My GCMIntentService.java method code is below -

    /**
     * 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);
    
    
    
    }