`
xsuo
  • 浏览: 123509 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Android 识别来电号码

阅读更多

识别来电号码




学习内容: 你将学会如何使用PhoneStateIntentReceiver来识别来电号码 . 可能出现的情况是, 当有来电时会使音乐播放关闭.

难度: 2 of 5

界面效果:

很不幸,没有




描述:
我们会创建一个PhoneStateIntentReceiver,PhoneState 状态改变时它会发送消息 Handler. 请看一看 详细注释 的例子实现(实际上注册发生在onCreate()-方法):
同志们啊,恕我注释就不翻了哈。

Java:
package org.anddev.android.reactonincomingcall;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.telephony.Phone;
import android.telephony.PhoneStateIntentReceiver;
import android.util.Log;

public class ReactOnIncomingCall extends Activity {
/** Used to recognize Messages from the
* myPhoneStateChangedHandler. */
final int PHONECALLSTATE_RECONGNIZE_ID = 0x539;

/** Will notify us on changes to the PhoneState*/
PhoneStateIntentReceiver myPsir = null;

/** This Handler will react on the messages the
* we made our PhoneStateIntentReceiver myPsir
* notify us on. */
Handler myPhoneStateChangedHandler = new Handler(){

@Override
public void handleMessage(Message msg) {

// Recognize the Message by its what-ID
if(msg.what == PHONECALLSTATE_RECONGNIZE_ID){

/* Our PhoneStateIntentReceiver myPsir
* now contains some recent data, we can grab. */
Phone.State myState = myPsir.getPhoneState();

// Put the Info to the logger for debugging
Log.d("PhoneCallStateNotified", myState.toString());

if(myState == Phone.State.RINGING){
// Celebrate =D
}
}
}
};

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
// Set some simple layout
super.onCreate(icicle);
setContentView(R.layout.main);


/* Create a new PhoneStateIntentReceiver
* that will pass messages to the handler h
* as it receives Intents we make it notify
* us below*/
this.myPsir = new PhoneStateIntentReceiver(this, myPhoneStateChangedHandler);

/* As we want to get notified on changes
* to the Phones-State we tell our
* PhoneStateIntentReceiver myPsir,
* that we wan to get notified with the ID
* (PHONECALLSTATE_RECONGNIZE_ID) we pass to him
*/
this.myPsir.notifyPhoneCallState(PHONECALLSTATE_RECONGNIZE_ID);

/* Register the Intent with the system. */
this.myPsir.registerIntent();
}
}
分享到:
评论

相关推荐

    Android 获取来电号码和去电号码

    Log.d("PhoneNumberReceiver", "来电号码: " + number); } else if (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) { Log.d("PhoneNumberReceiver", "去电号码: " + number); } } } } ``` 在这个接收...

    android 版本来电归属地查询

    在Android系统中,来电归属地查询是一项常见的功能,它能够帮助用户识别来电号码的来源,通常是根据电话号码查询对应的地区信息。本项目标题为“android 版本来电归属地查询”,意味着我们将探讨如何在Android应用中...

    安卓 识别来电是否为被转移来电

    在Android系统中,识别来电是否被转移通常需要借助第三方应用程序,如"Forwarded Call Alert v1.3 Full.apk"。这个应用能够检测到上述的各类呼叫转移,并通过图标或文字提示用户。安装并启用该应用后,它会在来电时...

    android项目-虚拟来电

    【虚拟来电】是一个Android应用程序开发项目,其主要功能是模拟来电,可以用于各种场合,比如在不方便或不希望继续当前对话时提供一个合理的退出理由。这个项目包含了一系列关键的Android开发文件和目录,这些文件和...

    Android 通话模块来电和去电流程分析

    ### Android 通话模块来电与去电流程分析 #### 一、引言 在现代移动通信技术中,Android作为全球最广泛使用的移动操作系统之一,其通话功能的实现与优化至关重要。本文将深入剖析Android系统的通话模块,重点分析...

    android来电挂断demo

    【Android来电挂断demo】是一个基于Android平台的项目示例,它主要展示了如何实现来电时自动识别并处理未存储在联系人中的电话号码。通过这个Demo,开发者可以学习到如何集成来电拦截功能,并在主屏幕上展示相关信息...

    Android 公司通讯录(含来电号码姓名查询和搜索功能)-IT计算机-毕业设计.zip

    这个应用不仅提供了基本的联系人存储功能,还具备来电号码识别和搜索功能,是Android开发领域的一个典型实践,特别适合毕业设计和论文研究。以下是这个项目涉及到的一些关键知识点和详细说明: 1. **Android开发...

    Android代码-公司通讯录(含来电号码姓名查询和搜索功能).zip

    4. 来电号码识别:为了实现来电时显示姓名的功能,需要注册BroadcastReceiver监听来电事件。当接收到通话状态改变的广播时,可以获取来电号码,然后查询SQLite数据库匹配姓名。匹配成功后,可以显示自定义的来电提示...

    Android 来电弹屏实例代码,带关闭按钮-IT计算机-毕业设计.zip

    2. **UI设计**:来电弹屏界面的创建需要使用Android的布局文件(XML),通常包括TextView用于显示来电者姓名和电话号码,以及ImageView或Button作为关闭按钮。这些元素的布局和样式可以通过XML文件定制,而其交互...

    安卓Android源码——公司通讯录(含来电号码姓名查询和搜索功能).zip

    该压缩包文件包含了一个针对安卓Android平台的源码示例,专注于实现公司通讯录功能,包括来电号码识别和搜索功能。这些功能对于任何企业级应用来说都是至关重要的,因为它们帮助用户快速查找和识别联系人,同时提升...

    Android 公司通讯录(含来电号码姓名查询和搜索功能).rar

    3. **来电号码识别**: - BroadcastReceiver:利用BroadcastReceiver监听来电广播,当有电话打入时,触发监听器并获取来电号码。 - 拨号器权限:需要申请READ_PHONE_STATE权限,以访问来电信息。 - 自定义来电...

    Android公司通讯录含来电号码姓名查询和搜索功能.zip

    在Android平台上,构建一个具备来电号码姓名查询和搜索功能的公司通讯录是一项常见的需求。这样的应用可以帮助用户快速识别来电者身份,同时方便他们在大量联系人中查找特定人员。以下将详细解析实现这些功能的关键...

    Android程序研发源码Android 公司通讯录(含来电号码姓名查询和搜索功.zip

    4. 来电识别:Android系统提供了来电监听接口,通过注册BroadcastReceiver监听ACTION_PHONE_STATE广播,当有来电时,可以获取来电电话号码。然后,我们可以对比数据库中的号码,查找对应的联系人信息,并显示在来电...

    基于Android系统的来电卫士毕业设计

    2.2.1 归属地信息显示:通过调用网络服务或者本地数据库获取来电号码的归属地信息,帮助用户识别未知来电。 2.2.2 黑名单拦截:用户可以添加特定号码到黑名单,系统会自动拦截这些号码的来电和短信。 2.2.3 防电信...

    android电话归属地本地数据库

    在Android系统中,电话归属地查询是一个常见的功能,它能够帮助用户识别来电号码的来源,是本地服务还是来自其他地区。这个"android电话归属地本地数据库"就是专门为实现这一功能而设计的。这个数据库通常包含了全国...

    Android 公司通讯录(含来电号码姓名查询和搜索功能).zip源码资源下载

    该资源是一个针对Android平台开发的公司通讯录应用的源代码,包含了来电号码识别与姓名查询以及搜索功能。这个应用能够帮助用户快速查找和管理公司的联系人信息,同时在接到来电时显示对应的联系人姓名,提升工作...

    Android应用源码之来电弹屏实例代码,带关闭按钮-IT计算机-毕业设计.zip

    在Android应用开发中,来电弹屏功能是一种常见的增强用户体验的方式,尤其在个人定制或特定场景的应用...同时,这个项目也具有实用价值,可以作为一个基础模板,进一步扩展为更复杂的功能,如智能识别来电并自动处理。

    Android来电接听或挂断界面源码

    在Android系统中,来电接听和挂断界面是用户与手机通信功能交互的重要部分。这个"Android来电接听或挂断界面源码"项目提供了一个自定义的解决方案,允许用户通过左右滑动来接听或挂断电话,增加了操作的便捷性和用户...

    android遮挡系统拨号界面 类似360来电显示的那个绿色 页面

    这种功能的应用场景多见于安全软件或通讯增强类应用,它可以帮助用户快速识别来电者身份,提升用户体验。 要实现这样的功能,开发者需要掌握以下几个核心知识点: 1. **权限申请**:首先,为了能够创建并显示顶级...

Global site tag (gtag.js) - Google Analytics