2012-09-24 2 views
4

J'ai besoin d'une implémentation large de récepteur de cast où un utilisateur peut vérifier si un téléphone passe du mode Ringer au mode silencieux ou silencieux à vibreur et vice versa.Récepteur Android BroadCast pour vibreur et silencieux

int volumeValue = (Integer)intent.getExtras().get("android.media.EXTRA_VOLUME_STREAM_VALUE"); 

J'ai essayé ce code mais cela ne me aider beaucoup parce qu'elle donne même valeur de la sonnerie à vibrer silencieux et silencieux, et vice versa. Je veux vraiment prendre l'action lorsque le téléphone passe du mode de sonnerie en mode silencieux et silencieux pour faire vibrer Merci d'avance

Répondre

9

écrire ce code dans votre méthode onCreate() du récepteur:

BroadcastReceiver receiver=new BroadcastReceiver(){ 
      @Override 
      public void onReceive(Context context, Intent intent) { 
       //code... 
      } 
     }; 
     IntentFilter filter=new IntentFilter(
         AudioManager.RINGER_MODE_CHANGED_ACTION); 
     registerReceiver(receiver,filter); 

ajouter également que cela fichier Mainfest:

<receiver android:name=".receivers.RingerModeStateChangeReceiver" > 
     <intent-filter> 
      <action android:name="android.media.RINGER_MODE_CHANGED" /> 
     </intent-filter> 
    </receiver> 
+1

pour gérer le mode téléphone, relais sur: http://developer.android.com/reference/android/media/AudioManager.html#EXTRA_RINGER_MODE et http://developer.android.com/reference /android/media/AudioManager.html#EXTRA_RINGER_MODE, mais pourquoi ajouter le récepteur sur les manifs t? Je pense que ce n'est pas nécessaire. –

+0

@ malik-S'il vous plaît accepter la réponse si trouvé utile après avoir obtenu 15 points de réputation !! –

+0

@malik M-Vous devriez toujours accepter une réponse correcte car elle pourrait aider les autres qui ont un problème similaire et vérifier cette question !!! –

Questions connexes