소스는 아래와 같아요
어플 실행도중 전화가 오면 전화와 배경음악이 같이 들립니다.
제 생각에 아래 녹색으로 보이는 부분이 들어가는 위치가 잘못된듯하나
어디부분에 들어가야 될지 잘모르겠네요
전화오면 배경음악이 일시중지되었다가 통화가 끝나면 다시 play되게 만들고 싶습니다.
그게 어렵다면 그냥 전화가 오면 오플이 종료되는 식으로 만들고싶어요
고수님들 답변 기다릴게요
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();
}
});
}
@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;
}
}
}
PhoneStateListener mCallListener = new PhoneStateListener(){
public void onCallStateChanged(int state, String incomingNumber){
switch(state){
case TelephonyManager.CALL_STATE_IDLE://통화중이 아닐 때
break;
case TelephonyManager.CALL_STATE_RINGING://전화벨 울릴 때
mp.pause();
case TelephonyManager.CALL_STATE_OFFHOOK://통화 중
break;
}
}
};
}




telephonymanager를 만들어놓고 사용하질 않으신거같아요~
TelephonyManager mTelMan;
을 만드셨으니까
mTelMan = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
mTelMan.listen(mCallListener, PhoneStateListener.LISTEN_CALL_STATE);
해서 리스너 연결해보세요~
안되시면.......다른분이 알려주실겁니다 ㅋㅋㅋㅋ