要在Android中通过MediaPlayer播放来电铃声,需要在TelephonyManager中注册监听器,并在电话状态改变时播放铃声。
代码示例:
在AndroidManifest.xml文件中添加以下权限:
在应用程序中创建TelephonyManager并注册监听器: TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.listen(new PhoneStateListener(){ @Override public void onCallStateChanged(int state, String incomingNumber) { switch (state) { case TelephonyManager.CALL_STATE_RINGING: MediaPlayer mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.ringtone); mediaPlayer.setLooping(true); try { mediaPlayer.prepare(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } mediaPlayer.start(); break; case TelephonyManager.CALL_STATE_IDLE: mediaPlayer.release(); break; default: break; } } }, PhoneStateListener.LISTEN_CALL_STATE);
其中,R.raw.ringtone为应用程序中预置的铃声资源文件。