我的溶液創建兩個廣播接收機。 第一個接收器用於接收系統通過Action:android.intent.action.PHONE_STATE發送的廣播。 第二個接收器由第一個接收器調用。 (第一個接收器將發送廣播,我發現在所有接收器接收到android.intent.action.PHONE_STATE之後,這個廣播將被第二個接收器接收。)
詳細代碼如下所示: 第一個接收器CallReceiver。JAVA):
public class CallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent newintent = new Intent(intent);
newintent.setAction("");
newintent.setClass(context, SecondReceiver.class);
context.sendBroadcast(newintent);
}
}
第二接收器(SecondReceiver.java):
public class SecondReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String number = intent.getStringExtra(
TelephonyManager.EXTRA_INCOMING_NUMBER);
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
}
}
的AndroidManifest.xml:
<receiver android:name=".CallReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
<receiver android:name=".SecondReceiver" />
參考此文檔谷歌更多信息[鏈接](HTTP: //developer.android.com/reference/android/content/IntentFilter.html#SYSTEM_HIGH_PRIORITY) – JeffE 2011-10-18 23:12:36