2015-09-11 32 views
0

我目前正在尝试将运行Android 5.1的手机设置为优先模式。Android 5.1设置为优先模式

我试图将其设置为AudioManager中的静音模式,但是这不显示效果以及将其设置为零。

将其设置为振动模式的工作原理,但...

//Neither this 
AudioManager am = (AudioManager) getBaseContext().getSystemService(AUDIO_SERVICE); 
am.setRingerMode(AudioManager.RINGER_MODE_SILENT); 

//nor this works 
AudioManager am = (AudioManager) getBaseContext().getSystemService(AUDIO_SERVICE); 
am.setRingerMode(0); 

我现在还没有发现任何其他解决方案。

另外我不能使用任何根功能。

编辑:刚刚发现,将其设置为0(或RINGER_MODE_SILENT)没有做什么:我花了振动模式,如果我在...

回答

0

刚发现我可以实现它通过NotificationListener服务。 (而我的问题已经有答案别的地方...)

//In the Service I use this to enable and disable silent mode(or priority...) 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     boolean start = intent.getBooleanExtra("start", false); 
     if(start) 
     { 
      Log.d("TAG","START"); 

      //Check if at least Lollipop, otherwise use old method 
      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
       requestInterruptionFilter(INTERRUPTION_FILTER_NONE); 
      else{ 
       AudioManager am = (AudioManager) getBaseContext().getSystemService(AUDIO_SERVICE); 
       am.setRingerMode(AudioManager.RINGER_MODE_SILENT); 
      } 
     } 
     else 
     { 
      Log.d("TAG","STOP"); 
      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
       requestInterruptionFilter(INTERRUPTION_FILTER_ALL); 
      else{ 
       AudioManager am = (AudioManager) getBaseContext().getSystemService(AUDIO_SERVICE); 
       am.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
      } 
     } 
     return super.onStartCommand(intent, flags, startId); 

    } 
+0

是,http://stackoverflow.com/questions/30153984/put-lollipop-into-silent-mode-mute-mode-不优先模式 – headuck