最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android音樂播放器監(jiān)聽電話狀態(tài)實現(xiàn)代碼

 更新時間:2013年11月02日 09:15:50   作者:  
在手機上播放音樂的時候,我們希望監(jiān)聽電話的狀態(tài),當然在MID上沒有電話功能,不需要監(jiān)聽

如下代碼是監(jiān)聽電話的狀態(tài),代碼簡單不做介紹直接看代碼:

復制代碼 代碼如下:

 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();
 }

相關文章

最新評論

宣武区| 吉木萨尔县| 达拉特旗| 陇南市| 五寨县| 乐山市| 白城市| 靖江市| 宁陵县| 徐闻县| 弥渡县| 板桥市| 滦平县| 民和| 定南县| 夏河县| 隆林| 大同县| 临漳县| 合阳县| 冕宁县| 从江县| 抚顺市| 喜德县| 荣成市| 澳门| 二手房| 平利县| 玛多县| 汕尾市| 奉化市| 贵港市| 枣强县| 五华县| 广平县| 荣成市| 尉犁县| 建湖县| 长阳| 临桂县| 阳曲县|