2015-05-10 32 views
2

目前我使用下面把手机变成静音模式:把棒棒糖成静音模式/静音模式不是优先模式

AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); 
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); 

但我已经注意到,棒棒堂,它把手机变成“优先模式“,通知栏顶部有一颗小星星。但我希望它100%保持沉默,而不是“优先模式”。这可能吗?设置棒棒糖100%保持沉默?

我已经尝试了setRingerMode设置为0,这样

audioManager.setRingerMode(0); 

但它仍然给我的明星,而不是扬声器与线通过它,它说,振动与(优先级)括号内下它。

回答

4

在Android 5.0.X中,调用setRingerMode(RINGER_MODE_SILENT)会(i)触发“优先模式”,这将(ii)随后触发将振铃器模式更改回到RINGER_MODE_NORMAL。

一个野蛮的解决方法,利用Android 5.0.X中的一个bug,在触发上面的动作(ii)之后的短时间内(比如500ms)再次发出setRingerMode(RINGER_MODE_SILENT)调用。但这当然是不正确的,应该停止在Android 5.1.X上工作。

在5.X中实现100%静音的正确方法是切换到“无”中断模式。这可以通过创建一个扩展NotificationListenerService的服务来实现,注册它并通过在服务中调用requestInterruptionFilter(INTERRUPTION_FILTER_NONE)来提供设置中断模式的功能。 Here (Noyze app)就是一个例子。然后,您可以从您的活动中调用该功能以切换到该模式。

为此,您需要使用BIND_NOTIFICATION_LISTENER_SERVICE权限,并明确授予用户的通知访问权限。

小心:您可能知道INTERRUPTION_FILTER_NONE确实意味着100%的安静,而闹钟将停止工作。

+0

这是要走的路。不幸的是,谷歌说改为RINGER_SILENT_MODE将切换到优先级,我检查了这不是所有设备。requestInterruptionFilter似乎是要走的路(也是激活None模式的唯一途径)。但是,用户必须明确给予权限是一种痛苦...... –

0

谷歌已经从棒棒糖中删除了静音模式。这里is the link to official android issue page

将设备设置为RINGER_MODE_SILENT会导致设备输入 新的优先级模式。如果您将其设置为 为RINGER_MODE_NORMAL或RINGER_MODE_VIBRATE,则该设备保持优先模式。

您已阅读更多关于here

+1

令人失望的是,他们这样做。我希望手机在工作时100%进入静音模式,现在我必须每天都手动进行此操作? – Dino

+0

不幸的是,但您可以使用振动模式或使用优先模式并设置优先级。你将不得不搜索教程。 –

+0

我刚刚写了一个应用程序,适用于前棒棒糖,但不是棒棒糖,这是非常令人失望的。 – Dino

0

我通过两次拨打setRingerMode(AudioManager.RINGER_MODE_SILENT)解决了这个问题,因为棒棒糖首先将设备置于优先模式而不是静音模式。

final AudioManager audiomanage = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
    audiomanage.setRingerMode(AudioManager.RINGER_MODE_SILENT); 
    new Thread(new Runnable() { 

     public void run() 
     { 
      try 
      { 
       Thread.sleep(100); 
       audiomanage.setRingerMode(AudioManager.RINGER_MODE_SILENT);    
      } 
      catch (InterruptedException e) 
      { 
       e.printStackTrace(); 
      } 
     } 
    }).start(); 
+0

这是Android 5.0中的一个错误,它已在Android 5.1中修复。该代码仅适用于5.0。 – headuck

相关问题