您的位置:首页 > 移动开发 > Android开发

Android之BroadcastReceiver广播接收者

2017-07-11 20:28 417 查看
如何利用广播知道谁给你打电话以及电话状态 —— >>

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

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
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; } } }}


 来自CODE的代码片
MyPhoneState.java

添加读取电话状态的权限

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.android21_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> </application>
</manifest>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: