MyPhoneState.java package com.example.phone; 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. */ 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.TELEPHONY_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;
AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.phone"> <!--读取电话状态的权限--> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".MyPhoneState"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE"></action> </intent-filter> </receiver> </application> </manifest>
} } }}
android_来电广播
最新推荐文章于 2021-11-29 18:14:58 发布