易采站长站为您分析Android广播接实现监听电话状态(电话的状态,拦截) 的相关资料,需要的朋友可以参考下
首先我们来理解下监听器的机制。
Android的事件处理机制有两种:监听和回调。
A基于监听的事件处理
主要涉及三类对象:EventSource(事件源),Event(事件),EventListener(事件监听器)
监听机制处理事件的流程图如下(委派式:Delegation):

1:需要在AndroidManifest.xml清单中添加权限
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
2:注册广播 要注意事件的级别 (android中的级别-1000~1000)
<receiver android:name=".PhoneBroadcastReceiver"> <intent-filter android:priority="1000"> <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> <action android:name="android.intent.action.PHONE_STATE"/> </intent-filter> </receiver>
详细配置请看 AndroidManifest.xml
<manifest xmlns:android="http://www.easck.com/apk/res/android" package="com.zyw.broadcastsendsms" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".SendSMS" android:label="@string/title_activity_send_sms" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".PhoneBroadcastReceiver"> <intent-filter android:priority="1000"> <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> <action android:name="android.intent.action.PHONE_STATE"/> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> </manifest>










