Android:逐渐增加通知声音的音量

Android:逐渐增加通知声音的音量,android,Android,我有一个通知,我想逐渐增加声音,直到它被驳回/回复。我怎么能这样做?谢谢大家的帮助 我就是这样完成这项任务的。首先,我捕获最初的设置。毕业后,一旦用户取消通知,我调用另一个函数返回设置。下面是声音分级的代码: public static void graduateVolumeLevel(Context context) { getVolumeLevel(context); final AudioManager mAudioManager = (AudioManager) con

我有一个通知,我想逐渐增加声音,直到它被驳回/回复。我怎么能这样做?谢谢大家的帮助

我就是这样完成这项任务的。首先,我捕获最初的设置。毕业后,一旦用户取消通知,我调用另一个函数返回设置。下面是声音分级的代码:

 public static void graduateVolumeLevel(Context context) {
    getVolumeLevel(context);
    final AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    final int DELAY_UNTIL_NEXT_INCREASE = 6 * 1000;

    LaunchService.startThread();

    mHandlerIncreaseVolume = new Handler(appService.thread.getLooper()); 
   /*you may not need this part.
    I use it b/c i run my stuff on another thread not to 
   interfere with the main thread. 
   Creating a new handler on main thread may be sufficient for your needs.*/

   if(runnable==null) {
       runnable = new Runnable() {
           @Override
           public void run() {
               int currentSystemVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_SYSTEM);
               int currentRingVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_RING);

               if (currentSystemVolume != mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM)||
                       currentRingVolume != mAudioManager.getStreamMaxVolume(AudioManager.STREAM_RING)) { //if not max
                   //increase the volume of the alarm stream 
                   mAudioManager.setStreamVolume(AudioManager.STREAM_RING,currentRingVolume++,0);
                   mAudioManager.setStreamVolume(AudioManager.STREAM_SYSTEM, currentRingVolume++, 0);

                   if(mHandlerIncreaseVolume!=null)
                   mHandlerIncreaseVolume.postDelayed(this, DELAY_UNTIL_NEXT_INCREASE);
               }
           }
       };
   }

    mHandlerIncreaseVolume.post(runnable);
}
我发现了一个类似的帖子,但无法再次找到它来引用它。这就是我用来创建代码的地方,我做了一些轻微的修改,因为这个示例并没有完全按照原样工作。此外,一旦返回原始设置,我将从处理程序中删除回调并将其设置为null