Android之BroadcastReceiver广播接收者
2017-07-11 20:28
417 查看
如何利用广播知道谁给你打电话以及电话状态 —— >>
首先先有一个类继承 BroadcastReceiver ,重写 onReceive 方法
来自CODE的代码片
MyPhoneState.java
添加读取电话状态的权限
首先先有一个类继承 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> |
相关文章推荐
- android 之 Broadcast(广播) BroadcastReceiver(广播接收者)
- Android自学笔记-17-广播接收者(BroadcastReceiver)
- android—广播接收者BroadcastReceiver的应用开发范例
- Android中广播接收者BroadcastReceiver的理解与基本使用
- Android系统常用广播接收者BroadcastReceiver
- android 之 Broadcast(广播) BroadcastReceiver(广播接收者)
- Android提高第六篇之BroadcastReceiver(广播接收者)
- Android 开发笔记三 BroadcastReceiver 广播接收者
- Android中的BroadCastReceiver(广播接收者)
- Android基础——广播接收者BroadcastReceiver
- android开发 - BroadcastReceiver 广播接收者
- Android学习Broadcast Receiver(广播接收者) 注意事项
- Android开发22――广播接收者BroadcastReceiver的原理和注册
- Android中广播接收者BroadcastReceiver详解
- android开发 - BroadcastReceiver 广播接收者
- 我的android 第32天 - 广播接收者--BroadcastReceiver(二)
- android:BroadcastReceiver 广播接收者
- Android(java)学习笔记177:BroadcastReceiver之 应用程序安装和卸载 的广播接收者
- Android基础(九) BroadcastReceiver 广播接收者
- Android:BroadcastReceiver:采用广播接收者实现短信窃听器