리소스에 mp3파일을 넣고 재생시키는 어플을 만들고 있습니다.
화면이 꺼져도 paly되어야 해서 onpause를 넣지 않고 onbackpresses메서드를 사용해서 백버튼을 누를 때 음악이 멈추게 했습니다.
그러나 문제는 전화가 왔을때 음악과 통화음이 같이 들린다는 것임니다.
프로르램 기초 지식이 없어서 어떻게 해야할 지 모르겠네요
그냥 전화왔을때 어플이 종료되게 할 순없나요?
제 생각에는 녹색으로 된 부분을 수정해야 할거 같은데요-.-
고수님들 도와주세요
package com.camtherapist.bodyscanmeditation;
import android.app.Activity;
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
public class bodyscanmeditation2 extends Activity {
private static final boolean ON = false;
MediaPlayer mp=null;
TelephonyManager mTelMan;
TextView mTextCall;
boolean mResumeAfterCall;
int curpos;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE); // TITLEBAR 제거
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
mp=MediaPlayer.create(bodyscanmeditation2.this,R.raw.meditation);
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v)
{
mp.start();
}
});
TelephonyManager mTelMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
mTelMgr.listen(new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
// 전화 대기 상태
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
case TelephonyManager.CALL_STATE_RINGING:
// 전화가 오는중 또는 통화중
break;
}
}
}, PhoneStateListener.LISTEN_CALL_STATE);
}
@Override
public void onBackPressed(){
//curpos=mp.getCurrentPosition();
mp.stop();
mp.release();
super.onBackPressed();
}
public void wakeLock(boolean flag) {
Object wl = null;
if(flag == ON) {
if (wl == null) { // CPU on (Power Manager)
Activity context = null;
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"wakelock");
((WakeLock) wl).acquire();
}
} else {
if (wl != null) { // PowerManager Release
((MediaPlayer) wl).release();
wl = null;
}
}
}
}



