在Android开发中,你可以使用BroadcastReceiver来监听电话的拨入和拨出。以下是一个简单的示例: 首先,你需要在AndroidManifest.xml文件中注册你的BroadcastReceiver: ```xml <receiver android:name=".PhoneReceiver"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE" /> </intent-filter> </receiver> ``` 然后,创建一个PhoneReceiver类: ```java public class PhoneReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("android.intent.action.PHONE_STATE")) { PhoneStateListener phoneStateListener = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); switch (state) { case TelephonyManager.CALL_STATE_RINGING: // 来电 break; case TelephonyManager.CALL_STATE_OFFHOOK: // 拨出 break; case TelephonyManager.CALL_STATE_IDLE: // 挂断 break; } } }; TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); } } } ``` 在这个示例中,我们首先检查Intent的action是否为"android.intent.action.PHONE_STATE"。如果是,我们创建一个PhoneStateListener,并使用TelephonyManager的listen方法来监听电话的状态变化。当电话状态改变时,onCallStateChanged方法会被调用,我们可以根据state的值来判断是拨入、拨出还是挂断。 [2023-11-07 22:44:58 | AI问答 | 367点数解答]