2010-08-31 3 views
1

J'ai besoin de créer un récepteur de diffusion personnalisé qui va me montrer à propos de n'importe quel événement PHONE_STATE survenu.Comment créer Custom Receiver Receiver

+1

Quelle est votre question? – CommonsWare

+0

Voulez-vous capturer les appels téléphoniques entrants et interrompre votre diffusion? Ou y a-t-il autre chose que tu veux faire? Avez-vous un cas d'utilisation sur lequel s'appuyer? –

+0

oui vous avez raison. Lorsque l'état du téléphone change, je devrais être en mesure d'interrompre la diffusion, la réception de la réception devrait afficher un message approprié comme le téléphone entrant, etc. Merci de votre commentaire –

Répondre

1

Dans votre manifeste, vous devez définir les éléments suivants:

<receiver 
     android:enabled="true" 
     android:label="@string/app_name" 
     android:name=".PhoneStateReceiver"> 
     <intent-filter> 
      <action 
       android:name="android.intent.action.PHONE_STATE" /> 
     </intent-filter> 
</receiver> 

La classe de récepteur d'échantillon:

public class PhoneStateReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 

    TelephonyManager telManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 

    switch(telManager.getCallState()) { 
    case TelephonyManager.CALL_STATE_IDLE: 
     //do something 
    } 
} 

}