- 浏览: 2969314 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (893)
- android (110)
- iphone (198)
- java (79)
- JavaScript手册-目录 (9)
- JavaScript手册-Array (19)
- JavaScript手册-Boolean (5)
- JavaScript手册-Date (50)
- JavaScript手册-Math (30)
- JavaScript手册-Number (14)
- JavaScript手册-RegExp (7)
- JavaScript手册-String (38)
- JavaScript手册-全局函数 (8)
- JavaScript实用脚本 (7)
- Others (21)
- java-jpcap (7)
- java-thread (1)
- ibm文章 (3)
- classloader (2)
- java-filter (2)
- 运行环境 (33)
- java-正则 (2)
- oracle (1)
- linux-shell (26)
- wap (1)
- sqlite (3)
- wow (1)
- jvm (1)
- git (5)
- unity3d (29)
- iap (2)
- mysql (23)
- nginx (14)
- tomcat (9)
- apache (2)
- php (1)
- ubuntu (40)
- rsa (1)
- golang (21)
- appstore (5)
- sftp (2)
- log4j (2)
- netty (18)
- 测试工具 (6)
- memcache (5)
- 设计模式 (1)
- centos (8)
- google_iab (5)
- iOS专题 (4)
- mac (10)
- 安装配置帮助手册 (2)
- im4java_graphicsmagick (5)
- inotify-tools (1)
- erlang (6)
- 微信支付 (1)
- redis (8)
- RabbitMQ (5)
最新评论
-
heng123:
Netty视频教程https://www.douban.com ...
netty4.0.23 初学的demo -
maotou1988:
使用Netty进行Android与Server端通信实现文字发 ...
netty4.0.23 初学的demo -
码革裹尸:
非常感谢,正好用上
android 呼入电话的监听(来电监听) -
rigou:
提示的/222.177.4.242 无法链接到ip地址,是什 ...
通过 itms:services://? 在线安装ipa ,跨过app-store -
duwanbo:
GridView与数据绑定
android 呼入电话的监听(来电监听)
需要权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
方式一:通过广播接收来电
定义来电广播接收类
package com.zhouzijing.android.demo; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; import android.util.Log; public class BroadcastReceiverMgr extends BroadcastReceiver { private final String TAG = MyBroadcastReceiver.TAG; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.i(TAG, "[Broadcast]"+action); //呼入电话 if(action.equals(MyBroadcastReceiver.B_PHONE_STATE)){ Log.i(TAG, "[Broadcast]PHONE_STATE"); doReceivePhone(context,intent); } } /** * 处理电话广播. * @param context * @param intent */ public void doReceivePhone(Context context, Intent intent) { String phoneNumber = intent.getStringExtra( TelephonyManager.EXTRA_INCOMING_NUMBER); TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); int state = telephony.getCallState(); switch(state){ case TelephonyManager.CALL_STATE_RINGING: Log.i(TAG, "[Broadcast]等待接电话="+phoneNumber); break; case TelephonyManager.CALL_STATE_IDLE: Log.i(TAG, "[Broadcast]电话挂断="+phoneNumber); break; case TelephonyManager.CALL_STATE_OFFHOOK: Log.i(TAG, "[Broadcast]通话中="+phoneNumber); break; } } }
定义Actitvity类
package com.zhouzijing.android.demo; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.util.Log; import android.view.View; public class MyBroadcastReceiver extends Activity { public final static String TAG = "MyBroadcastReceiver"; public final static String B_PHONE_STATE = TelephonyManager.ACTION_PHONE_STATE_CHANGED; private BroadcastReceiverMgr mBroadcastReceiver; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_broadcast_receiver); } //按钮1-注册广播 public void registerIt(View v) { Log.i(TAG, "registerIt"); mBroadcastReceiver = new BroadcastReceiverMgr(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(B_PHONE_STATE); intentFilter.setPriority(Integer.MAX_VALUE); registerReceiver(mBroadcastReceiver, intentFilter); } //按钮2-撤销广播 public void unregisterIt(View v) { Log.i(TAG, "unregisterIt"); unregisterReceiver(mBroadcastReceiver); } }
方式二:通过监听器来实现
package com.zhouzijing.android.demo; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.util.Log; import android.view.View; public class MyBroadcastReceiver extends Activity { public final static String TAG = "MyBroadcastReceiver"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_broadcast_receiver); } /** * 按钮-监听电话 * @param v */ public void createPhoneListener(View v) { TelephonyManager telephony = (TelephonyManager)getSystemService( Context.TELEPHONY_SERVICE); telephony.listen(new OnePhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE); } /** * 电话状态监听. * @author stephen * */ class OnePhoneStateListener extends PhoneStateListener{ @Override public void onCallStateChanged(int state, String incomingNumber) { Log.i(TAG, "[Listener]电话号码:"+incomingNumber); switch(state){ case TelephonyManager.CALL_STATE_RINGING: Log.i(TAG, "[Listener]等待接电话:"+incomingNumber); break; case TelephonyManager.CALL_STATE_IDLE: Log.i(TAG, "[Listener]电话挂断:"+incomingNumber); break; case TelephonyManager.CALL_STATE_OFFHOOK: Log.i(TAG, "[Listener]通话中:"+incomingNumber); break; } super.onCallStateChanged(state, incomingNumber); } } }
发表评论
-
Android Fragment 真正的完全解析(下)
2015-03-25 14:30 1091Android Fragment 真正 ... -
Android Fragment 真正的完全解析(上)
2015-03-25 10:14 879Android Fragment 真正的 ... -
Activity的生命周期方法
2015-03-25 09:54 555一:Activity的生命周期方法 Android ... -
Android在layout xml中使用include
2015-03-25 07:28 973在Android的layout样式定义中,可以使 ... -
一个支持圆角的快速ImageView:RoundedImageView
2015-03-07 09:50 11064一个支持圆角的快速ImageView:Rounded ... -
ImageView图片设置
2015-03-05 23:08 924显示任意图像,例如图标。ImageView类可以加载 ... -
ListActivity的onListItemClick不响应的解决办法
2015-03-04 17:57 1082ListActivity的onListItemClic ... -
ListView中有控件隐藏或显示造成的显示错误问题
2015-03-03 23:03 1824ListView中有控件隐藏或显示造成的显示错误问题 ... -
Android中Application类用法
2015-03-03 09:12 973Android中Application类用法 ... -
Android使用Application总结
2015-03-03 09:11 1175Android使用Application ... -
在android中运行java main方法
2015-02-27 10:38 972在android中运行java main方法 ... -
android BitmapFactory.Options
2015-02-19 21:01 995public Bitmap inBi ... -
android 基础demo例子
2015-02-16 21:06 810demoDatas.add(new DemoBe ... -
Android大图片裁剪终极解决方案
2015-02-15 17:08 2138Android大图片裁剪终 ... -
Android_照相机Camera_调用系统照相机返回data为空
2015-02-15 14:17 1267Android_照相机Camera_调用系统照相机返回 ... -
Android: 打印Bundle内容
2015-02-15 14:11 2931Android: 打印Bundle内容 有的时 ... -
android线程、UI、AsyncTask
2015-02-13 18:06 1256本文是转摘的,看过了觉得很好!所以转了过来!如果你想要 ... -
Fragment中ListView的使用
2015-02-06 23:01 2102Fragment中ListView的使用 直接 ... -
在安卓开发时用酷派手机无法打印出应用内的日志的解决方法
2014-12-11 20:39 1178在安卓开发时用酷派手机无法打印出应用内的日志的解决方法 ... -
查看安卓APK文件证书的方法
2014-12-04 10:05 955************************** ...
相关推荐
主要介绍了Android广播接实现监听电话状态(电话的状态,拦截) 的相关资料,需要的朋友可以参考下
android 利用重力感应监听 微修改代码可以解决 来电时翻转手机后静音。
主要介绍了Android实现监听电话呼叫状态的方法,涉及Android权限控制及电话状态监听的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
Android来去电监听,电话挂断
主要介绍了Android中的webview监听每次URL变化实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么...
主要介绍了Android实现信号强度监听的方法,是Android手机中很常见的一个实用功能,需要的朋友可以参考下
实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener。 TelephonseManger提供了取得手机基本服务的信息的一种方式。因此应用程序可以使用TelephonyManager来探测手机基本服务的情况。应用...
主要介绍了Android实现静态广播监听器的方法,涉及Android的广播机制与记录监听广播信息的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
在Android开发中 我们经常会需要在Android界面上弹出一些对话框 比如询问用户或者让用户选择 关于Android Dialog的使用方法 已经有很多blog做出了详细的介绍(比如博客:7种形式的Android Dialog使用举例) 但是只是...
Android Webview 滑动监听 放大缩小查看网页图片
Android通过使用广播监听网络状态的改变,更多请看我的博客:http://blog.csdn.net/xiayiye5/article/details/79397088
android ListView子控件监听
android 后台监听按键事件方法及demoandroid 后台监听按键事件方法及demo
Android中监听电话状态.zip
该demo实现android拨号键盘拨打电话击联系人功能,并实现服务监听来去电及获取来去电号码功能
Android 通过开启后台的服务达到监听来电和去电 源码
一个简单的Android按键监听程序,通过通过BroadcastReceiver监听Home,电源Power,和音量变化Volume键
这个项目已经很老了,其实是从 Android 4.4.4 的系统 Settings 中 copy 出来的。 其实原理都是编译运行系统 ...Android 操作以太网的项目,提供了监听网线插拔和以太网开关,设置以太网静态IP、网关、子网掩码、dns等。
Android 监听百度地图缩放事件