Android 开发总结之获取来电号码
创建一个广播事件接收者,并在清单文件中注册此文件,过滤意图为android.intent.action.PHONE_STATE
在intellij中因为未提示还以为没有这个,其实是有的,增加权限android.permission.READ_PHONE_STATE
在intellij中因为未提示还以为没有这个,其实是有的,增加权限android.permission.READ_PHONE_STATE
<receiver android:name=".receiver.CallReceiver"><intent-filter><action android:name="android.intent.action.PHONE_STATE"/></intent-filter></receiver>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
在receiver中确定 intent的action是电话状态改变并且带有的参数 改变后的状态为RINGRING,即电话响起时,获取手机号码
public class CallReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (TelephonyManager.ACTION_PHONE_STATE_CHANGED.equals(intent.getAction()) && "RINGING".equals(intent.getStringExtra(TelephonyManager.EXTRA_STATE))) {String number = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);}}}
此时获取到的number即为来电号码。

浙公网安备 33010602011771号