2010-08-31 57 views
1

我需要创建自定义广播接收器,它会告诉我有关发生的任何PHONE_STATE事件。如何创建自定义广播接收器

+1

什么是你的问题? – CommonsWare 2010-08-31 08:57:35

+0

你想捕获传入的电话并打断你的广播吗?还是有什么你想要做的?你有用例依赖吗? – 2010-08-31 09:04:45

+0

是的,你是对的。 当电话状态改变,那么我应该能够中断广播,广播接收者应该显示适当的消息,如来电等..感谢您的评论 – 2010-08-31 09:50:01

回答

1

在你的清单,你应该定义如下:

<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> 

样品接收器类:

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 
    } 
} 

}