Android之BroadcastReceiver广播接收者

xiaoxiao2021-02-28  73

如何利用广播知道谁给你打电话以及电话状态 —— >>

首先先有一个类继承  BroadcastReceiver ,重写 onReceive 方法

import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; import android.util.Log; /** * Created by Administrator on 2017/7/11 0011. */ public class MyPhoneState extends BroadcastReceiver { private TelephonyManager tm; @Override public void onReceive(Context context, Intent intent) { if("android.intent.action.PHONE_STATE".equals(intent.getAction())){ //获取电话管理者 tm = (TelephonyManager) context.getSystemService(Context.TELECOM_SERVICE); int state=tm.getCallState(); //获取电话号码 String number=intent.getStringExtra("incoming_number"); switch (state) { case TelephonyManager.CALL_STATE_RINGING: Log.i("test","有电话进来了:"+number); break; case TelephonyManager.CALL_STATE_OFFHOOK: Log.i("test","正在通话中:"+number); break; case TelephonyManager.CALL_STATE_IDLE: Log.i("test","通话结束:"+number); break; } } } }

添加读取电话状态的权限

转载请注明原文地址: https://www.6miu.com/read-79029.html

最新回复(0)