public class PhoneHandsoffReceiver extends BroadcastReceiver {
private TelephonyManager telephonyManager;
private Handler myHandler = new Handler();
@Override
public void onReceive(Context context, Intent intent) {
if (context != null && intent != null) {
telephonyManager = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
if (telephonyManager.getCallState() == TelephonyManager.CALL_STATE_OFFHOOK) {
final Context mContext = context;
myHandler.postDelayed(new Runnable() {
@Override
public void run() {
AudioManager audioManager = (AudioManager) mContext
.getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
}
}, 500L);
}
}
}
}
注册Intent
<receiver android:name=".receiver.PhoneHandsoffReceiver" android:enabled="true">
<intent-filter android:priority="999">
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>