`
rayloo
  • 浏览: 86652 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

监听电话状态

阅读更多

监听电话状态

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> class MyPhoneStateListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch(state) { case TelephonyManager.CALL_STATE_IDLE: //空闲 break; case TelephonyManager.CALL_STATE_RINGING: //来电 break; case TelephonyManager.CALL_STATE_OFFHOOK: //摘机(正在通话中) break; } } } //获取电话通讯服务 TelephonyManager tpm = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); //创建一个监听对象,监听电话状态改变事件 tpm.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE);

 

权限:

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

 以下文章转载自:http://www.eoeandroid.com/thread-8994-1-1.html

 要监听android打电话和接电话,只需下面2步骤
第一步,写一个Receiver继承自BroadcastReceiver

来电action为TelephonyManager.ACTION_PHONE_STATE_CHANGED

去电action为Intent.ACTION_NEW_OUTGOING_CALL

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->public class PhoneStatReceiver extends BroadcastReceiver{ private static final String TAG = "PhoneStatReceiver"; // private static MyPhoneStateListener phoneListener = new MyPhoneStateListener(); private static boolean incomingFlag = false; private static String incoming_number = null; @Override public void onReceive(Context context, Intent intent) { //如果是拨打电话 if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){ incomingFlag = false; String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); Log.i(TAG, "call OUT:"+phoneNumber); }else{ //如果是来电 TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE); switch (tm.getCallState()) { case TelephonyManager.CALL_STATE_RINGING: incomingFlag = true;//标识当前是来电 incoming_number = intent.getStringExtra("incoming_number"); Log.i(TAG, "RINGING :"+ incoming_number); break; case TelephonyManager.CALL_STATE_OFFHOOK: if(incomingFlag){ Log.i(TAG, "incoming ACCEPT :"+ incoming_number); } break; case TelephonyManager.CALL_STATE_IDLE: if(incomingFlag){ Log.i(TAG, "incoming IDLE"); } break; } } } }

第二步:在AndroidManifest.xml,配置写好的Receiver,并拦截相应的BroadCastAction,
另外注意加上相应的权限。

 

 

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><receiver android:name=".filter.PhoneStatReceiver"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE"/> <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> </intent-filter> </receiver> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>
分享到:
评论

相关推荐

    Android广播接实现监听电话状态(电话的状态,拦截)

    要监听电话状态,首先需要在AndroidManifest.xml中声明必要的权限。这些权限包括: - PROCESS_OUTGOING_CALLS:用于拦截和处理外拨电话。 - READ_PHONE_STATE:用于读取电话状态,例如获取来电号码等信息。 注册...

    Android中监听电话状态.zip

    在Android系统中,监听电话状态是一项重要的功能,它允许开发者获取到电话的实时信息,比如来电、去电、通话结束等事件。这项功能通常应用于电话录音、来电管理、短信拦截等场景。本教程将深入探讨如何在Android应用...

    Android中监听电话状态.rar

    在Android系统中,监听电话状态是一项重要的功能,它允许开发者获取到电话的呼叫事件,例如来电、去电、通话结束等。这对于开发电话管理应用、来电显示应用或者通话记录应用等非常有用。在这个"Android中监听电话...

    Android中监听电话状态-IT计算机-毕业设计.zip

    // 处理来电状态,如显示来电信息 break; case TelephonyManager.CALL_STATE_OFFHOOK: // 通话中 // 处理通话进行中状态 break; } } }; telephonyManager.listen(phoneStateListener, PhoneStateListener....

    Android实现监听电话呼叫状态的方法

    在Android平台上,监听电话呼叫状态是一项重要的功能,它允许开发者获取到电话的实时状态,例如来电、通话中或挂断等。以下将详细介绍如何在Android应用中实现这一功能,包括必要的权限控制和电话状态监听。 首先,...

    Android程序研发源码Android中监听电话状态.zip

    在Android系统中,监听电话状态是一项重要的功能,它允许开发者获取到电话的实时信息,比如来电、去电、通话结束等事件。这个压缩包“Android程序研发源码Android中监听电话状态.zip”很可能包含了实现这一功能的...

    Android应用源码之中监听电话状态-IT计算机-毕业设计.zip

    在Android应用开发中,监听电话状态是一项常见的需求,特别是在实现通信相关的功能时,例如通话记录、来电显示或者短信拦截等。这份"Android应用源码之中监听电话状态"的资源是针对这一主题的一个学习Demo,适合...

    Android源码-Android中监听电话状态.zip

    Android源码_Android中监听电话状态.zip

    技术资料分享技术资料分享Android源码-Android中监听电话状态.zip

    技术资料分享技术资料分享Android源码_Android中监听电话状态.zip

    Android监听系统来电并弹出提示窗口

    - `PhoneStateListener`是系统提供的监听电话状态变化的类,通过注册监听器来捕捉来电、去电、电话挂断等事件。 - 示例代码中,使用了`PhoneReceiver`类继承自`BroadcastReceiver`,并重写了`onReceive`方法来处理...

    android音乐播放器监听电话状态实现代码

    这一功能在Android开发中可以通过使用TelephonyManager类的监听电话状态的方法来实现。 首先,需要明确TelephonyManager类是Android系统提供的一个用于访问电话服务信息的类。通过这个类,开发者可以监听到电话的...

    android 电话状态监听(来电和去电)实现代码

    应用程序可以注册listener来监听电话状态的改变。我们不能对TelephonyManager进行实例化,只能通过获取服务的形式: Context.getSystemService(Context.TELEPHONY_SERVICE); 注意:对手机的某些信息进行读取是需要...

    Android中39采用Service实现电话监听器并将监听到的内容上传到服务器案例

    然后,我们需要在AndroidManifest.xml中声明权限,以允许应用监听电话状态。这包括READ_PHONE_STATE和INTERNET权限: ```xml ``` 接下来,我们要在Service中注册并使用电话监听器。首先在Service的...

    android 监听来电和去电

    为了监听电话状态的变化,开发者需要注册一个广播接收器(`BroadcastReceiver`),并监听特定的广播动作,如`TelephonyManager.ACTION_PHONE_STATE_CHANGED`。 ### 必需的权限 在Android中,监听电话状态涉及到用户...

    小程序 中监听电话状态.rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    android拨号键盘及来去电监听

    对于监听电话状态,需要添加`READ_PHONE_STATE`权限,这样我们的应用才能访问电话的状态信息。在`onReceive()`方法中,通过`TelephonyManager`的`getCallState()`方法可以获取当前的电话状态,如IDLE(空闲)、...

    Android 电话及短信的监听程序源码.zip

    使用`TelephonyManager`类可以监听电话状态。通过注册`PhoneStateListener`并重写`onCallStateChanged()`方法,可以获取到电话的状态变化,如通话开始、结束和呼叫等待等。 3. **短信监听**: 实现`...

    小程序源码 中监听电话状态.rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    Android-Android来去电监听电话挂断

    首先,为了监听电话状态,我们需要创建一个实现了PhoneStateListener接口的类。PhoneStateListener提供了多种回调方法,例如onCallStateChanged(),这个方法会在电话状态改变时被调用。我们主要关注的状态有...

Global site tag (gtag.js) - Google Analytics