手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >android音乐播放器监听电话状态实现代码
android音乐播放器监听电话状态实现代码
摘要:如下代码是监听电话的状态,代码简单不做介绍直接看代码:复制代码代码如下:privatebooleanmResumeAfterCall=fal...

如下代码是监听电话的状态,代码简单不做介绍直接看代码:

复制代码 代码如下:

private boolean mResumeAfterCall = false;

private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {

@Override

public void onCallStateChanged(int state, String incomingNumber) {

if (state == TelephonyManager.CALL_STATE_RINGING) {

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

int ringvolume = audioManager

.getStreamVolume(AudioManager.STREAM_RING);

if (ringvolume > 0) {

mResumeAfterCall = (player.isPlaying() || mResumeAfterCall);

try {

stub.pause();

} catch (RemoteException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

} else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {

// pause the music while a conversation is in progress

mResumeAfterCall = (player.isPlaying() || mResumeAfterCall);

try {

stub.pause();

} catch (RemoteException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} else if (state == TelephonyManager.CALL_STATE_IDLE) {

// start playing again

if (mResumeAfterCall) {

// resume playback only if music was playing

// when the call was answered

try {

stub.resume();

} catch (RemoteException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

mResumeAfterCall = false;

}

}

}

};

使用的时候呢,就在service 的oncreate 里面添加,如下:

复制代码 代码如下:

public void onCreate() {

player = new MediaPlayer();

super.onCreate();

TelephonyManager tmgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

tmgr.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);

IntentFilter filter = new IntentFilter();

filter.addAction(SERVICECMD);

filter.addAction(PAUSE_ACTION);

receiver = new MusicServiceReceiver();

registerReceiver(receiver, filter);

}

在ondestroy 里面删除就可以了

复制代码 代码如下:

public void onDestroy() {

// Log.e(TAG, "onDestroy" +player.isPlaying() );

// System.out.println("onDestroy");

unregisterReceiver(receiver);

player.release();

player = null;

TelephonyManager tmgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

tmgr.listen(mPhoneStateListener, 0);

super.onDestroy();

}

【android音乐播放器监听电话状态实现代码】相关文章:

Android 显示和隐藏输入法实现代码

Android 中动态加载.jar的实现步骤

android书架效果实现原理与代码

Android使用Pull解析器解析xml文件的实现代码

基于android中权限的集合汇总

Android 倒影算法的实现代码

Android开场动画实例类Java代码

android下拉刷新ListView的介绍和实现代码

android 电话状态监听(来电和去电)实现代码

Android中打电话的数据流程分析

精品推荐
分类导航