在android程序中处理来电

我想在android平台上处理来电。我想设定一个时间期限, 如果手机接收到电话时,就会自动的发给来电用户一个信息。

如何设置?

0

2个回答

你需要在 Activity 或者 Service中申明 PhoneStateListener:

PhoneStateListener phoneStateListener = new PhoneStateListener() {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        if (state == TelephonyManager.CALL_STATE_RINGING) {
            ....
        } else if(state == TelephonyManager.CALL_STATE_IDLE) {
            ....
        } else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
            ....
        }
        super.onCallStateChanged(state, incomingNumber);
    }
};

再在AndroidManifest.xml 中添加下面的权限:

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

继承你的类到 PhoneStateListener,并且重写 onCallStateChanged 方法:

  class myCallListener extends PhoneStateListener{
                @Override
            public void onCallStateChanged(int state, String incomingNumber) {
                // TODO Auto-generated method stub
                switch (state) {
                case TelephonyManager.CALL_STATE_RINGING:
                        // your logic here
                    break;
                    default:
                    break;
                }
                    super.onCallStateChanged(state, incomingNumber);
                }
        }
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android实现来电和去电的监听
写个实例实现Android中来电和去电的监听,来电可以使用PhoneStateListener对电话状态的改变进行监听,去电需要动态或者静态去注册广播接收器,对去电进行监听;
播放音乐处理来电和挂电问题
电话监听请看http://blog.csdn.net/b1480521874/article/details/54692558 音频焦点用法请看http://blog.csdn.net/b1480521874/article/details/54669032 注意一个问题:就是有可能先收到挂断的广播再收到重获音频焦点,也有可能先重获了音频焦点再收到挂断的广播。而要挂断且获得了音频焦点才
android音乐播放器监听电话状态,解决通话中的音乐的播放
在音乐播放时电话打进来当然不希望音乐和来电铃声一同在响,所以下面的代码能解决此问题。 在 MusicPlayService中先创建一个电话状态监听的方法 /** * 电话状态监听事件 */ private boolean mResumeAfterCall = false; private PhoneStateListener mPhoneSt
Android6.0来电流程
先放出6.0的MT时序图大家有个直观感受,下面代码一步步进行分析 第一部分:RIL–>GSMPhone Call状态变化 -> 发出来电通知(frameworks\opt\telephony) 1. framwork/opt/telephony/…/RIL.java 作用:RIL-Java在本质上就是一个RIL代理,起到一个转发的作用,是Android Java概念空间中的电话系
模拟来电的实现
模拟来电这个功能其实Android原生就有实现,想想Android模拟器是可以来电或者拨号的吧。这个功能对于手机厂商的程序员来说,节省了大量调整UI的时间,不用去真的打电话来呈现UI。实现有两种方式: 实现虚拟的BaseCommands 这种方式也是Android5.0之前预留的方式。 frameworks/opt/telephony/src/java/com/android/interna
Android N 来电流程(MT)
本流程图基于MTK平台 Android N,普通来电,本流程只作为沟通学习使用本篇文章写作顺序是从modem上报消息,一层一层上报到incallUI,读者可以根据需求选择阅读顺序。frameworks/opt/telephony/当对方拨打电话后,运营商就会通过基站向含有特定SIM卡手机的modem发送指令,当手机modem收到这个指令后就会发生变化,并将变化信息通过AT指令集的方式传送给RILC,
Android系统获取用户来电信息
在onCreate()方法中加入以下语句: MyPhoneStateListener phoneListener=new MyPhoneStateListener(); TelephonyManager telephonyManager =(TelephonyManager)getSystemService(TELEPHONY_SERVICE); telepho
Android通过来电号码识别姓名。
项目中遇到需要通过来电号码获取到联系人姓名的需求。 然而,简单地通过联系人数据库的Filter来获取来电号码在部分手机是获取不到保存的联系人的,比如三星S3,需要获取通信录保存的有+86等国区码,而来电没有+86的情况。部分手机也会出现保存的没有+86,来电有+86无法获取的情况。 那么,我们就需要通过获取所有联系人的电话号码,通过比较来电号码来知道该来电号码的姓名是谁。 再深入我们就会发现
android9.0来电无法获取处理
https://developer.android.com/about/versions/pie/android-9.0-changes-all?hl=zh-cn 这个连接说了。android 必须添加新权限,官网说: 限制访问电话号码 在未首先获得 READ_CALL_LOG 权限的情况下,除了应用的用例需要的其他权限之外,运行于 Android 9 上的应用无法读取电话号码或手机状态。 与来...
Android studio 上代码实现来电拦截
第一步:在程序中新建一个包,包名必须为:com.android.internal.telephony,因为要使用aidl。 a. aidl文件放在aidl目录下, 和java目录同级 b. ITelephony.aidl文件的包名是com.android.internal.telephony; 第二步:在这个包里面新建一个名为ITelephony.aid
来电铃声和通话中的提示音
InCallTonePlayer packages/services/Telecomm/src/com/android/server/telecom/InCallTonePlayer.java,该类用于通话中提示音的播放。 public static class Factory { private final CallAudioManager mCallAudioMa
Android中InCallUI显示太慢问题分析
完整分析流程和详细内容也可以下载PDF文档:InCallUI_issue_analysis_report一、问题现象当手机有来电时,先听到铃声,过了比较长的一段时间(3-4s)屏幕才点亮并显示来电界面。Platform:MT6581Android版本:4.4KKBuildType:userdebug系统软件版本:SWC1E+UP系统RAM:512M二、Android4.4来电及IncallUI显示
Android音频相关(八)来电铃声播放流程
铃声的设置流程之前总结过,可以参考该文章: Android音频相关(四)设置铃声流程总结 一、铃声播放准备 二、铃声播放 三、总结 本文主要介绍的下面标红的播放流程,SystemUI的播放流程我们在另一篇文章进行介绍。 一、铃声播放准备 1.来电后最先会通过telecom中的Ringer.java里面的方法mRingtonePlayer.play(mRingtoneF...
Android5.0 InCall 通话界面显示流程
收到底层发送的通话状态的消息后到UI处理 RIL.java      processResponse() -- processUnsolicited (p)  -- notifyRegistrants() UNSOL_PROGRESS_INFO GsmCallTracker.java  handleMessage ()  - EVENT_CALL_STATE_CHANGE
Android 代码实现来电拦截
为了更好地理解这个Demo,我先向大家介绍一下需求与功能。 需求: 每天都会有很多无聊的电话,比如推销商品等,占用我们大量时间不说,有时候还会打乱我们的思路,扰乱我们的正常生活。所以实现一个对某些号码(比如陌生号码,指定号码/黑名单等)进行拦截以避免受到骚扰,是很有现实用途的。 为了避免程序过分复杂,造成不易学习的麻烦我在这里只实现“如果来电号码没在联系人中,则进行挂断,并存入xml文件(S
android_来电广播
MyPhoneState.java package com.example.phone; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; import
Android 获取来电号码和去电号码
转载请注明出处: http://blog.csdn.net/like_program/article/details/52662942 这篇博客将讲解 Android 如何获取来电号码和去电号码。
Android来电时停止音乐播放的流程
场景分析:   1.    电话接入时共可分为两个场景:         1).    电话于响铃模式时在电话接入的时候会先行停止音乐播放,然后播放电话铃音接着显示来电界面等待用户的                 接入操作         2).    电话为无声模式及用户没有设置响铃的模式,当用户在来电界面实施接听操作的时候系统会停止音乐播放进                 而进...
来电闪光灯源码
此源码是仿iphone的来电闪光功能的实现,欢迎大家下载交流讨论,如有疑问,请关注微信公众号:KJFrameForAndroid,或加入Q群257053751,201055521 请关注博客:blog.kymjs.com 开源实验室:www.kymjs.com
Android 系统自动获取来电/短信/提示铃声
方法一: 设置个性短信铃声: 设置个性短信铃声需要使用到一个软件“短信提示器”, 添加自己个性铃声到铃声列表的方 式和“设置个性来电铃声”是一样的, 选择好自己需要的铃声之后, 就可以进入短信提示器 这个软件了, 点击“短信设置”——点击“启用通知”, 在“提示音”中选择铃声列表中自 己的个性铃声。 “振动选项”中选择启用震动, 另外还可以选择振动方式和 LED 灯提示选项, 可以说这款软件
Android 8.1 来电默认全屏显示 如何修改
在Android 8.1上来电全屏显示 如何修改呢?直接上代码 1.alps\vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\android\systemui\statusbar\phone\StatusBar.java 在shouldPeek方法里加入如下代码: boolean inUse = mPowerManager...
Android实现电话来电自动接听功能
目录   前言 一、效果展示 二、实现分析 三、具体业务调整 四、总结 前言 关于手机来电自动接听这个需求公司领导提了有一段时间了,直到最近才开始处理这个功能。拿到这个需求,先分析了一下,肯定是牵扯到硬件层和系统层面了,到网上查了资料之后,发现都是大同小异,你抄他他抄你的,尝试了几种方案,适配性较差,最后找到了一篇文章,地址在这:https://blog.csdn.net/z823...
Android应用监听来电、短信等方法
这功能最好放在一个Service中,在需要的地方启动这个Service即可。直接上代码吧:/** * 检测来电、短信 */ public class NotificationMonitorService extends Service { private static final String TAG = "NotificationMonitor"; private static
Android开发总结-获取来电号码
最近项目要做一个能捕获到来电事件,取得电话号码的应用.在网上查了二天,算是运行成功了.在这里分享一下经验:)     通过之前对Android 的学习,认为来电话时应该是通过广播(broadcast)通知给应用的.所以就在Reference里找,知道Broadcast Action应该在 anroid.content.Intent类里找.找了找Standard Broadcast Ac...
Android电话来电流程源码分析
Android的Phone设计的相当复杂,只有了解了Phone的设计框架才能把握电话的拨号或来电流程,在Android电话拨打流程源码分析中已经分析介绍了电话拨打流程,这里介绍一下电话的来电流程。 要理解这节内容,首先要知道Android电话的层次设计 Framework层的RIL中的RILReceiver线程从rild服务进程中读取modem发送上来的来电消息等信息,通过消息注册-响
andriod 自定义来电界面功能实现的一些思考
转载:http://blog.csdn.net/likebamboo/article/details/14449881        由于近期所做一个项目需要做类似于“来电秀”的功能,所以上网搜索了一些相关资料,加上自己的一些想法,做了一个Demo。一下是我对该功能实现的一些想法,不对的地方欢迎各位指出。最后我会给出Demo 的源代码。        首先,Android系统的
Android 8.0来电流程分析(一)
来电时底层会上报消息到RIL层,在Android8.0上目前已经做了修改,不再使用Socket进行通信,而是使用ril_service服务进行通信,O的系统上引入了HIDL机制,telephony的framework层引用底层的服务就用到了此机制,这也导致了RIL层的调整,本篇博客在7.0的基础上进一步分析其变化,建议同步对照7.0和8.0的代码阅读。 1.我们从RIL层开始往上追溯,RIL接收
Android 7.0 通话界面(InCallUI)是怎么出来的。
InCallUI 最终的启动是在                packages\apps\Dialer\InCallUI\src\com\android\incallui\InCallPresenter.java           调用此函数启动的               public Intent getInCallIntent(boolean showDialpad, boole
android 播放来电铃声
android中如何用mediaplayer播放自己设置的来电铃呢? 最近做一个android小应用的时候需要用到这个。上网查了一下,可以用mediaplayer播放自己的闹钟和来电铃声。十分感谢这万能的网络,这里也和大家分享一下。         Uri alert = R
android之来电自动拒接并自动回复短信_上课模式app
上课的时候老师说总是错过电话,对方打来没人接还一遍遍的打,觉得可以有个app在上课期间自动拒接电话,并自动回复短信过去. 当然了,需要权限的. 尝试做了个雏形出来. 界面如下: 主要代码如下: package jason.teacher; import java.lang.reflect.Method; import java.util.HashMap; import ja
Android之来电秀实现(一)
简单的说下实现来电秀的大概原理流程:首先通过监听来电状态,通过拦截来电然后在窗口弹出一层系统级别的弹窗,这层弹窗即是来电秀。 因为商用的原因,不能直接贴代码,所以在这里,会贴一些比较核心的代码,大概分为五个步骤: 第一:监听来电状态 /** * 电话状态监听(来电或去电) * * @author Jenly * */ public class PhoneStateRe
Android 代码设置来电铃声
1、如果读到的是音频文件路径,需要先将音乐文件插入到多媒体库。 //设置--铃声的具体方法      public void setMyRingtone(String path)      {         File sdfile = new File(path);        ContentValues values = new ContentValues();        values
Android 8.0来电流程分析(三)
Telecomm Service 这里我们可以看出CallsManager的管理作用,创建Calls并添加监听,在完成Call的相关初始化后进行进一步处理,其实就是传递消息到别的的地方去。 1.那么继续到CallsManager中跟进 @Override public void onSuccessfulIncomingCall(Call incomingCall) { ...
Android 获取来电号码 + 悬浮框
获取来电号码,要引入两个包:import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; 清单文件中加两个权限: 1,开启一个Service,后台监听 在oncreate()中: mTelManager = (TelephonyManager) getSystemServi
Android N来电拦截
骚扰号码存放的URI BlockedNumberContract.BlockedNumbers.CONTENT_URI   存放号码的列 BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER   ContentResolver contentResolver = getContext().getContentResolv
Android 5.1 Phone MT(来电)流程分析(应用层)
本文主要分析Android 接电话的流程,研究的代码是Android 5.1的,现在我们只关注应用层,以CDMA为例,GSM同理。一、显示来电的界面步骤1,2:在Framework层的最后,是由PhoneBase.java将来电通知传递到应用层的,如果想了解这段流程,请看《Android 5.1 Phone MT(来电)流程分析(Framework层) 》的步骤1~13。
android模拟打电话程序实现
今天我们实现一个简单的手机拨号器,其设计如下 : 下面是一个PhoneActivity.java文件,当PhoneActivity对象实例化之后会调用onCreate()方法,完成初始化操作,因此我们可以将为按钮添加处理点击事件的初始化代码写入onCreate()方法中去。 package cn.class3g.activity; import android.app.Activity;
Android监听系统来电,弹出提示窗口
1.问题项目中有自己企业的通讯录,但是在应用中拨打公司通讯录的联系人,由于手机通讯录中没有相应的信息,只显示一串电话号2 .目的监听系统来电,获取到电话号码,通过调用接口,查询出来相应电话号码的详细信息,并弹出系统悬浮框,给用户提示。3.实现首先 注册广播监听系统来电。监听系统来电需要、注册相应的权限代码地址:https://github.com/sdsjk/phone_alert.git&amp;lt;uses
安卓应用,来电屏蔽 (来电自动屏蔽功能已实现)
安卓应用,来电屏蔽(根据设置规则进行来电屏蔽) 原理:非联系人、白名单中的号码,自动接听3秒并自动挂断(打骚扰电话的人会产生话费) 扫描二维码安装 工具完整源码:CallShielder_20190401_14.48.zip ...
安卓手机来电亮屏流程分析
来电亮屏流程分析 本文档是针对手机来电时候自主点亮屏幕这一流程的分析,很自然的就将其分为2个阶段,第一个是来电,第二个是点亮屏幕。 来电的流程: 来电消息是从RIL层接收到的,然后才开始传递上来。 AT      : RING                              AT      : AT AT      : RIL_URC_READER:RING         
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 机器学习中如何处理大数据 ios音视频开发处理