|
|
@@ -195,9 +195,13 @@ public class MainMusicActivity extends AppCompatActivity {
|
|
|
};
|
|
|
Handler handler = new Handler(){
|
|
|
public void handleMessage(android.os.Message msg) {
|
|
|
- mPlayerSeekBar.setMax(musicService.mediaPlayer.getDuration());
|
|
|
- mPlayerSeekBar.setProgress(musicService.mediaPlayer.getCurrentPosition());
|
|
|
- handler.sendEmptyMessageDelayed(0, 100);
|
|
|
+ try {
|
|
|
+ mPlayerSeekBar.setMax(musicService.mediaPlayer.getDuration());
|
|
|
+ mPlayerSeekBar.setProgress(musicService.mediaPlayer.getCurrentPosition());
|
|
|
+ handler.sendEmptyMessageDelayed(0, 100);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
};
|
|
|
};
|
|
|
OnClickListener onClickListener = new OnClickListener() {
|
|
|
@@ -332,11 +336,22 @@ public class MainMusicActivity extends AppCompatActivity {
|
|
|
@Override
|
|
|
protected void onDestroy() {
|
|
|
super.onDestroy();
|
|
|
- handler.removeMessages(0);
|
|
|
- musicService.mediaPlayer.stop();
|
|
|
- musicService.mediaPlayer.release();
|
|
|
- musicService.mediaPlayer = null;
|
|
|
- mLrcView.reset();
|
|
|
+ closeMusic();
|
|
|
+ if (musicService.mediaPlayer!=null){
|
|
|
+ musicService.mediaPlayer.release();
|
|
|
+ musicService.mediaPlayer=null;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void closeMusic() {
|
|
|
+ try {
|
|
|
+ handler.removeMessages(0);
|
|
|
+ musicService.mediaPlayer.stop();
|
|
|
+ mLrcView.reset();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -353,12 +368,15 @@ public class MainMusicActivity extends AppCompatActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onReceive(Context context, Intent intent) {
|
|
|
+ Log.i(TAG, "onReceive-----广播");
|
|
|
// 如果是拨打电话
|
|
|
if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
|
|
|
- musicService.playOrPause();
|
|
|
+ Log.i(TAG, "拨打电话--------------");
|
|
|
+ musicService.mediaPlayer.pause();
|
|
|
+ mPlayBtn.setSelected(false);
|
|
|
//拨打电话会优先,收到此广播. 再收到 android.intent.action.PHONE_STATE 的 TelephonyManager.CALL_STATE_OFFHOOK 状态广播;();
|
|
|
} else {
|
|
|
-
|
|
|
+ Log.i(TAG, "接听电话-------------");
|
|
|
// 如果是来电
|
|
|
TelephonyManager tManager = (TelephonyManager) context
|
|
|
.getSystemService(Service.TELEPHONY_SERVICE);
|
|
|
@@ -366,15 +384,22 @@ public class MainMusicActivity extends AppCompatActivity {
|
|
|
switch (tManager.getCallState()) {
|
|
|
case TelephonyManager.CALL_STATE_RINGING:
|
|
|
//等待接听状态
|
|
|
- musicService.playOrPause();
|
|
|
+ Log.i(TAG, "等待接听状态------");
|
|
|
+ //musicService.playOrPause();
|
|
|
+ musicService.mediaPlayer.pause();
|
|
|
+ mPlayBtn.setSelected(false);
|
|
|
break;
|
|
|
case TelephonyManager.CALL_STATE_OFFHOOK:
|
|
|
//接听状态
|
|
|
-
|
|
|
+ musicService.mediaPlayer.pause();
|
|
|
+ mPlayBtn.setSelected(false);
|
|
|
+ Log.i(TAG, "接听状态-------");
|
|
|
break;
|
|
|
case TelephonyManager.CALL_STATE_IDLE:
|
|
|
+ Log.i(TAG, "挂断状态-------");
|
|
|
//挂断状态
|
|
|
- musicService.playOrPause();
|
|
|
+ musicService.mediaPlayer.pause();
|
|
|
+ mPlayBtn.setSelected(false);
|
|
|
break;
|
|
|
}
|
|
|
}
|