监听电话状态的模板代码
Posted 码上加油站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监听电话状态的模板代码相关的知识,希望对你有一定的参考价值。
package com.example.calling; import android.app.Service; import android.content.Context; import android.content.Intent; import android.os.IBinder; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; public class PhoneStatusService extends Service { private TelephonyManager tm; private MyPhoneStatusListener mPhoneStatusListener; @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); // 1. 获取手机管理器 tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); // 2. 设置监听 mPhoneStatusListener = new MyPhoneStatusListener(); tm.listen(mPhoneStatusListener, PhoneStateListener.LISTEN_CALL_STATE); } /** * 3. 用内部类实现监听 * 手机状态监听 */ private class MyPhoneStatusListener extends PhoneStateListener { //当手机通话状态变化时,回调 //state :通话的3中状态 //incomingNumber:来电号码 @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); System.out.println("来电号码:"+incomingNumber); switch (state) { case TelephonyManager.CALL_STATE_IDLE://空闲 System.out.println("空闲"); break; case TelephonyManager.CALL_STATE_RINGING://响铃 System.out.println("响铃"); break; case TelephonyManager.CALL_STATE_OFFHOOK://通话 System.out.println("通话"); break; default: break; } } } @Override public void onDestroy() { super.onDestroy(); //4. 注销监听 tm.listen(mPhoneStatusListener, PhoneStateListener.LISTEN_NONE); } }
以上是关于监听电话状态的模板代码的主要内容,如果未能解决你的问题,请参考以下文章