2012-06-19 14 views

Odpowiedz

7

ustawić trybu cichego do trybu normalnego korzystania AudioManager

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 

switch (am.getRingerMode()) { 
    case AudioManager.RINGER_MODE_SILENT: 
     Log.i("MyApp","Silent mode"); 
     am.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
     break; 
} 
2
AudioManager manager = (AudioManager) getContext().getSystemService(AUDIO_SERVICE); 
manager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
+0

& Vineet : Dzięki za pomoc, ale "getSystemServic e "jest nieokreślony, czy możesz mi powiedzieć, co z tym zrobić? –

+0

'getSystemService' jest metodą klasy" Context ". Edytowałem swoją odpowiedź. –

2

spróbuj tego:

AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
+0

Dzięki chłopaki za pomoc. Ale faktycznie dostałem moje rozwiązanie z tego: AudioManager audioManager = (AudioManager) context.getSystemService (Context.AUDIO_SERVICE); \t \t int maxVolume = audioManager.getStreamMaxVolume (AudioManager.STREAM_RING); \t \t AudioManager.setRingerMode (AudioManager.RINGER_MODE_NORMAL); \t AudioManager.setStreamVolume (AudioManager.STREAM_RING, maxVolume, AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND); –

0

Aby pracować dla urządzeń android do i powyżej Marshmallow (API 23)

  1. In AndroidManifest.xml zdefiniować jako gość ACCESS_NOTIFICATION_POLICY

    <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/> 
    
  2. W funkcji onResume/onCreate prosić o pozwolenie, jeśli nie przyznano

    @Override 
    protected void onResume() { 
        super.onResume(); 
        NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
        //Check if the phone is running Marshmallow or above 
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M) { 
         //If the permission is not granted, launch an inbuilt activity to grant permission 
         if (!nm.isNotificationPolicyAccessGranted()) { 
          startActivity(new Intent(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS)); 
         } 
        } 
    } 
    
  3. końcu zmienić dzwonka połączenia mode metoda

    public void setRingerMode(Context context,int mode){ 
         /* 
         * mode variable value can be: 
         * AudioManager.RINGER_MODE_SILENT 
         * AudioManager.RINGER_MODE_NORMAL 
         * AudioManager.RINGER_MODE_VIBRATE 
         */ 
         NotificationManager nm = (NotificationManager)context.getSystemService(NOTIFICATION_SERVICE); 
         AudioManager audioManager = (AudioManager)context.getSystemService(AUDIO_SERVICE); 
         if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M && nm.isNotificationPolicyAccessGranted()) 
          audioManager.setRingerMode(mode); 
        } 
    
Powiązane problemy