当前位置:  编程技术>移动开发

android音乐播放器监听电话状态实现代码

    来源: 互联网  发布时间:2014-10-21

    本文导语:  如下代码是监听电话的状态,代码简单不做介绍直接看代码: 代码如下: private boolean mResumeAfterCall = false; private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {  @Override  public void onCallStateChanged(int state, String incomingNumber) {...

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

代码如下:

 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实现来电静音示例(监听来电)
  • Android中监听判断网络连接状态的方法
  • Android中监听系统网络连接打开或者关闭的实现代码
  • Android应用中Back键的监听及处理实例
  • android监听安装和卸载示例
  • Android判断和监听底座状态和类型的方法介绍
  • android短信监听工具(示例代码)
  • Android 监听apk安装替换卸载广播的实现代码
  • 基于Android 监听ContentProvider 中数据变化的相关介绍
  • Android中检查、监听电量和充电状态的方法
  • javascript开源软件 iis7站长之家
  • android Animation监听器AnimationListener的使用方法)
  • Android应用开发:电话监听和录音代码示例
  • Android短信接收监听、自动回复短信操作例子
  • Android/iOS 视频播放器 ijkplayer
  • android webvie指定视频播放器播放网站视频
  • Android 音乐播放器 KJ音乐
  • android暂停或停止其他音乐播放器的播放实现代码
  • Android媒体播放器 iCua
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android中隐藏标题栏和状态栏的方法
  • Android获取屏幕方向及键盘状态的小例子
  • android当前apn的状态以及获取方法
  • Android开发之获取网络链接状态
  • Android 取得状态栏、任务栏高度的小例子
  • Android 获取屏幕高度,标题高度,状态栏高度(实例代码)
  • android检测网络连接状态示例讲解
  • android 动态控制状态栏显示和隐藏的方法实例
  • 解析Android游戏中获取电话状态进行游戏暂停或继续的解决方法
  • Android应用图标在状态栏上显示实现原理
  • Android App后台服务报告工作状态实例
  • Android实现侦听电池状态显示、电量及充电动态显示的方法
  • android 检查网络连接状态实现步骤
  • Android中判断网络连接是否可用及监控网络状态
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3