黑马程序员技术交流社区

标题: 监听系统音量发生变化 [打印本页]

作者: geek666    时间: 2015-8-7 13:17
标题: 监听系统音量发生变化
当调节系统音量时,接收系统发来的广播


  AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE) ;
        sound = (SeekBar) findViewById(R.id.sb_sound);

        /**
     * 注册当音量发生变化时接收的广播
     */
    private void myRegisterReceiver(){
        mVolumeReceiver = new MyVolumeReceiver() ;
        IntentFilter filter = new IntentFilter() ;
        filter.addAction("android.media.VOLUME_CHANGED_ACTION") ;
        registerReceiver(mVolumeReceiver, filter) ;
    }
     
    /**
     * 处理音量变化时的界面显示
     * @author long
     */
    private class MyVolumeReceiver extends BroadcastReceiver{
        @Override
        public void onReceive(Context context, Intent intent) {
            //如果音量发生变化则更改seekbar的位置
            if(intent.getAction().equals("android.media.VOLUME_CHANGED_ACTION")){
                int currVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) ;// 当前的媒体音量
                sound.setProgress(currVolume) ;
            }
        }
    }





音量键亦可用于解锁(小米)





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2