telephonyManager的使用

来源:互联网 发布:怎么安装mac os x 编辑:程序博客网 时间:2024/06/06 10:55
在服务 中配制,telephonyManager的实例化用TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
public class PhoneService extends Service {@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);tm.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE);}public class MyPhoneStateListener extends PhoneStateListener{private MediaRecorder recorder;@Overridepublic void onCallStateChanged(int state, String incomingNumber) {// TODO Auto-generated method stubsuper.onCallStateChanged(state, incomingNumber);switch (state) {case TelephonyManager.CALL_STATE_IDLE:System.out.println("空闲");if(recorder != null) { recorder.stop(); recorder.reset();   // You can reuse the object by going back to setAudioSource() step recorder.release(); // Now the object cannot be reused}break;case TelephonyManager.CALL_STATE_OFFHOOK:System.out.println("监听");recorder.start();   // Recording is now startedbreak;case TelephonyManager.CALL_STATE_RINGING:System.out.println("铃声");recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile("mnt/sdcard/a.3gp"); try {recorder.prepare();} catch (IllegalStateException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}break;}}}}

原创粉丝点击