Sound notification even though phone is muted

I am creating a notification with Android NotificationManager.

Is it possible to "override" the volume settings of the phone (mute) so that the notification sound is played ALWAYS?

What I need is this: Notice is so important that vibration alone may not be enough. The user MUST be warned. Therefore, the sound should be played even if the phone is switched off or the volume is very low.

+3


source to share


2 answers


yes maybe



MediaPlayer mMediaPlayer;
Uri notification = null;
notification = RingtoneManager
                .getDefaultUri(RingtoneManager.TYPE_ALARM);

mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setDataSource(ctx, notification);
        // mMediaPlayer = MediaPlayer.create(ctx, notification);
        final AudioManager audioManager = (AudioManager) ctx
                .getSystemService(Context.AUDIO_SERVICE);

        mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);

        mMediaPlayer.prepare();
        // mMediaPlayer.start();
        mMediaPlayer.setLooping(true);
        mMediaPlayer.setOnPreparedListener(new OnPreparedListener() {
            public void onPrepared(MediaPlayer arg0) {
                mMediaPlayer.seekTo(0);
                mMediaPlayer.start();

            }

        });

      

+5


source


You can change the RINGING mode as follows: from silent to normal

AudioManager mobilemode = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        mobilemode.setRingerMode(AudioManager.RINGER_MODE_NORMAL);


        // Turn on all sound

        // turn on sound, enable notifications
        mobilemode.setStreamMute(AudioManager.STREAM_SYSTEM, false);
        //notifications
        mobilemode.setStreamMute(AudioManager.STREAM_NOTIFICATION, false);
        //alarm
        mobilemode.setStreamMute(AudioManager.STREAM_ALARM, false);
        //ringer
        mobilemode.setStreamMute(AudioManager.STREAM_RING, false);
        //media
        mobilemode.setStreamMute(AudioManager.STREAM_MUSIC, false);


        // Turn off all sound

        // turn off sound, disable notifications
        mobilemode.setStreamMute(AudioManager.STREAM_SYSTEM, true);
        //notifications
        mobilemode.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
        //alarm
        mobilemode.setStreamMute(AudioManager.STREAM_ALARM, true);
        //ringer
        mobilemode.setStreamMute(AudioManager.STREAM_RING, true);
        //media
        mobilemode.setStreamMute(AudioManager.STREAM_MUSIC, true);

      



FOR YOUR BUSINESS YOU CAN TRY ANYTHING OF THIS

int previousNotificationVolume =mobilemode.getStreamVolume(AudioManager.STREAM_NOTIFICATION);

        mobilemode.setStreamVolume(AudioManager.STREAM_NOTIFICATION,mobilemode.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION), 0);

        // Play notification sound



        // Set notification sound to its previous 

        mobilemode.setStreamVolume(AudioManager.STREAM_NOTIFICATION,previousNotificationVolume, 0);

      

+3


source







All Articles