文档章节

Android监控来电/通话中的状态

郏高阳
 郏高阳
发布于 2013/10/17 09:35
字数 320
阅读 3.3K
收藏 9

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

使用场景:

现在在做一个功能是这样的,如果有未读订单要求设备就要响铃/获取未读订单是个线程每隔几秒钟就会获取一次,如果有未读订单就会通知铃声响起,可是在通话中的时间后天通知了设备响铃就会在通话中有铃声,导致叠加一起了,很混乱……为了解决这个所以…… 

原文链接:http://my.oschina.net/jgy/blog/169447

获取电话服务

在启动Activity时间获取电话服务:代码如下:

TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
		MyPhoneStateListener myPhoneStateListener = new MyPhoneStateListener();
		// 手动注册对PhoneStateListener中的listen_call_state状态进行监听通話
		telephonyManager.listen(myPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);

MyPhoneStateListener类

/**
 * 继承PhoneStateListener类,我们可以重新其内部的各种监听方法
 * 然后通过手机状态改变时,系统自动触发这些方法来实现我们想要的功能
 */
public class MyPhoneStateListener extends PhoneStateListener {
	/**
	 * @param state 通話狀態
	 * @param incomingNumber   手機號碼
	 */
	@Override
	public void onCallStateChanged(int state, String incomingNumber) {
		switch (state) {
			case TelephonyManager.CALL_STATE_IDLE:
				Log.e("---------", "挂掉");
				break;
			case TelephonyManager.CALL_STATE_RINGING:
				Log.e("---------", "有来电,号码是:" + incomingNumber);
				break;
			case TelephonyManager.CALL_STATE_OFFHOOK:
				Log.e("---------", "通話中");
			default:
				break;
		}
		super.onCallStateChanged(state, incomingNumber);
	}
}

相关权限

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

山人郏高阳亲测Android2.3/4.2/4.3 木有问题!!

❤犒劳一杯咖啡❤

OVER!!!

© 著作权归作者所有

郏高阳

郏高阳

粉丝 105
博文 153
码字总数 112334
作品 1
黄浦
程序员
私信 提问
加载中

评论(0)

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

从事android开发的朋友们可能电话状态监听不是很擅长,接下来将详细介绍电话状态监听功能的实现步骤,需要了解的朋友可以参考下。 实现手机电话状态的监听,主要依靠两个类:TelephoneManger...

天王盖地虎626
2019/01/11
60
0
Android源码个个击破之拨号源码

#############需求############# 最近我的一位同事大概是利用下面的方法监听电话的状态 https://www.pocketdigi.com/20110725/417.html https://blog.csdn.net/lyen2010/article/details/42......

屠夫章哥
2019/04/02
0
0
转 Android 实现自动接听和挂断电话功能

添加权限 main.xml PhoneUtils.java是手机功能类,从TelephonyManager中实例化ITelephony并返回,源码如下: package com.testTelephony; import java.lang.reflect.Field; import java.lan......

bidaround
2014/09/03
381
0
Android-9种通话状态(精确)

一.介绍 在应用层监听通话状态只有三种,从TelephonyManager.java中注释可知这三种状态含义如下: CALLSTATEIDLE 空闲态(没有通话活动)[j8>02190A03096E00190E7E02190A03096E00190E] CALL_S...

osc_ugeljcjn
2019/07/22
2
0
android phone剖析细节

本人毕业可快一年了。一直从事android方面的研究。感觉对phone的理解是最为深刻的阿。首先,我不讲那些具体的框架了,大家上网随便搜搜都有,主要讲些细节的吧。可能是些小东西吧。 首先,界...

找骨头的啊呜
2011/04/09
642
0

没有更多内容

加载失败,请刷新页面

加载更多

apache服务器 --Internal Server Error(内部服务错误)

问题显现: 首先,我先展示一下错误提示代码: Internal Server ErrorThe server encountered an internal error or misconfiguration and was unable to complete your request. Ple......

二营长意大利炮
46分钟前
15
0
唱作俱佳,腾讯AI艾灵领唱中国新儿歌

唱作俱佳,腾讯AI艾灵领唱中国新儿歌 今年六一儿童节,腾讯联合北京荷风艺术基金会发起“腾讯荷风艺术行动”,给孩子们送上两份礼物,为音乐美学中国素质教育的发展做出贡献。 其中一份就是由...

腾讯技术资讯
48分钟前
39
0
BeetlSQL3.0 难搞

最近想支持一下nosql,难搞,每个nosql server,都很难一天掌握安装和基础用法,所以先决定选用clickhouse ,apache drill (操作文件),Cassandra,这三个下手 hadoop系列也挺好的,但确实没时...

闲大赋
48分钟前
32
0
生产计划体系学习

生产计划的内容: 1、生产的最终产品与零部件数量 2、生产的批量和产出时间 3、产品产出的日程计划 生产计划编制思路,按照分层次来进行的 1、主生产计划(MPS) 2、零部件生产计划(MRP) ...

旺仔没馒头
49分钟前
19
0
如何使用Maven创建具有依赖项的可执行JAR? - How can I create an executable JAR with dependencies using Maven?

问题: I want to package my project in a single executable JAR for distribution. 我想将我的项目打包在一个可执行的JAR中进行分发。 How can I make a Maven project package all depen......

javail
52分钟前
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部