在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问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
播放音乐处理来电和挂电问题
电话监听请看http://blog.csdn.net/b1480521874/article/details/54692558 音频焦点用法请看http://blog.csdn.net/b1480521874/article/details/54669032 注意一个问题:就是有可能先收到挂断的广播再收到重获音频焦点,也有可能先重获了音频焦点再收到挂断的广播。而要挂断且获得了音频焦点才
Android实现来电和去电的监听
写个实例实现Android中来电和去电的监听,来电可以使用PhoneStateListener对电话状态的改变进行监听,去电需要动态或者静态去注册广播接收器,对去电进行监听;
Android开发之监听手机来电
本应用是通过Activity实现的,如果把实例中的代码放到后台执行的Service中运行,并设置Service组件跟随系统启动,那个这中 监听就可以做到“神不知,鬼不觉”了。嘿嘿.............
Android6.0来电流程
先放出6.0的MT时序图大家有个直观感受,下面代码一步步进行分析 第一部分:RIL–>GSMPhone Call状态变化 -> 发出来电通知(frameworks\opt\telephony) 1. framwork/opt/telephony/…/RIL.java 作用:RIL-Java在本质上就是一个RIL代理,起到一个转发的作用,是Android Java概念空间中的电话系
android音乐播放器监听电话状态,解决通话中的音乐的播放
在音乐播放时电话打进来当然不希望音乐和来电铃声一同在响,所以下面的代码能解决此问题。 在 MusicPlayService中先创建一个电话状态监听的方法 /** * 电话状态监听事件 */ private boolean mResumeAfterCall = false; private PhoneStateListener mPhoneSt
模拟来电的实现
模拟来电这个功能其实Android原生就有实现,想想Android模拟器是可以来电或者拨号的吧。这个功能对于手机厂商的程序员来说,节省了大量调整UI的时间,不用去真的打电话来呈现UI。实现有两种方式: 实现虚拟的BaseCommands 这种方式也是Android5.0之前预留的方式。 frameworks/opt/telephony/src/java/com/android/interna
Android studio 上代码实现来电拦截
第一步:在程序中新建一个包,包名必须为:com.android.internal.telephony,因为要使用aidl。 a. aidl文件放在aidl目录下, 和java目录同级 b. ITelephony.aidl文件的包名是com.android.internal.telephony; 第二步:在这个包里面新建一个名为ITelephony.aid
描述Android系统在视频播放时来电话的解决方案
1.当来电后返回后,只有声音,没有画面时,是因为当前activity对象被遮挡后,SurfaceView对象被销毁,而activity重新显示时他的重建晚于onResume()方法的执行。 此时应解决SurfaceView的重建问题: private final class SurfaceCallback implements Callback{  public void sur
Android系统获取用户来电信息
在onCreate()方法中加入以下语句: MyPhoneStateListener phoneListener=new MyPhoneStateListener(); TelephonyManager telephonyManager =(TelephonyManager)getSystemService(TELEPHONY_SERVICE); telepho
android9.0来电无法获取处理
https://developer.android.com/about/versions/pie/android-9.0-changes-all?hl=zh-cn 这个连接说了。android 必须添加新权限,官网说: 限制访问电话号码 在未首先获得 READ_CALL_LOG 权限的情况下,除了应用的用例需要的其他权限之外,运行于 Android 9 上的应用无法读取电话号码或手机状态。 与来...
Android通过来电号码识别姓名。
项目中遇到需要通过来电号码获取到联系人姓名的需求。 然而,简单地通过联系人数据库的Filter来获取来电号码在部分手机是获取不到保存的联系人的,比如三星S3,需要获取通信录保存的有+86等国区码,而来电没有+86的情况。部分手机也会出现保存的没有+86,来电有+86无法获取的情况。 那么,我们就需要通过获取所有联系人的电话号码,通过比较来电号码来知道该来电号码的姓名是谁。 再深入我们就会发现
Android N 来电流程(MT)
本流程图基于MTK平台 Android N,普通来电,本流程只作为沟通学习使用本篇文章写作顺序是从modem上报消息,一层一层上报到incallUI,读者可以根据需求选择阅读顺序。frameworks/opt/telephony/当对方拨打电话后,运营商就会通过基站向含有特定SIM卡手机的modem发送指令,当手机modem收到这个指令后就会发生变化,并将变化信息通过AT指令集的方式传送给RILC,
Android来电时停止音乐播放的流程
场景分析:   1.    电话接入时共可分为两个场景:         1).    电话于响铃模式时在电话接入的时候会先行停止音乐播放,然后播放电话铃音接着显示来电界面等待用户的                 接入操作         2).    电话为无声模式及用户没有设置响铃的模式,当用户在来电界面实施接听操作的时候系统会停止音乐播放进                 而进...
Android 获取来电号码和去电号码
转载请注明出处: http://blog.csdn.net/like_program/article/details/52662942 这篇博客将讲解 Android 如何获取来电号码和去电号码。
来电铃声和通话中的提示音
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显示
Android5.0 InCall 通话界面显示流程
收到底层发送的通话状态的消息后到UI处理 RIL.java      processResponse() -- processUnsolicited (p)  -- notifyRegistrants() UNSOL_PROGRESS_INFO GsmCallTracker.java  handleMessage ()  - EVENT_CALL_STATE_CHANGE
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 代码实现来电拦截
为了更好地理解这个Demo,我先向大家介绍一下需求与功能。 需求: 每天都会有很多无聊的电话,比如推销商品等,占用我们大量时间不说,有时候还会打乱我们的思路,扰乱我们的正常生活。所以实现一个对某些号码(比如陌生号码,指定号码/黑名单等)进行拦截以避免受到骚扰,是很有现实用途的。 为了避免程序过分复杂,造成不易学习的麻烦我在这里只实现“如果来电号码没在联系人中,则进行挂断,并存入xml文件(S
Android应用监听来电、短信等方法
这功能最好放在一个Service中,在需要的地方启动这个Service即可。直接上代码吧:/** * 检测来电、短信 */ public class NotificationMonitorService extends Service { private static final String TAG = "NotificationMonitor"; private static
android之来电自动拒接并自动回复短信_上课模式app
上课的时候老师说总是错过电话,对方打来没人接还一遍遍的打,觉得可以有个app在上课期间自动拒接电话,并自动回复短信过去. 当然了,需要权限的. 尝试做了个雏形出来. 界面如下: 主要代码如下: package jason.teacher; import java.lang.reflect.Method; import java.util.HashMap; import ja
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开发总结-获取来电号码
最近项目要做一个能捕获到来电事件,取得电话号码的应用.在网上查了二天,算是运行成功了.在这里分享一下经验:)     通过之前对Android 的学习,认为来电话时应该是通过广播(broadcast)通知给应用的.所以就在Reference里找,知道Broadcast Action应该在 anroid.content.Intent类里找.找了找Standard Broadcast Ac...
andriod 自定义来电界面功能实现的一些思考
转载:http://blog.csdn.net/likebamboo/article/details/14449881        由于近期所做一个项目需要做类似于“来电秀”的功能,所以上网搜索了一些相关资料,加上自己的一些想法,做了一个Demo。一下是我对该功能实现的一些想法,不对的地方欢迎各位指出。最后我会给出Demo 的源代码。        首先,Android系统的
Android实现电话来电自动接听功能
目录   前言 一、效果展示 二、实现分析 三、具体业务调整 四、总结 前言 关于手机来电自动接听这个需求公司领导提了有一段时间了,直到最近才开始处理这个功能。拿到这个需求,先分析了一下,肯定是牵扯到硬件层和系统层面了,到网上查了资料之后,发现都是大同小异,你抄他他抄你的,尝试了几种方案,适配性较差,最后找到了一篇文章,地址在这:https://blog.csdn.net/z823...
Android电话来电流程源码分析
Android的Phone设计的相当复杂,只有了解了Phone的设计框架才能把握电话的拨号或来电流程,在Android电话拨打流程源码分析中已经分析介绍了电话拨打流程,这里介绍一下电话的来电流程。 要理解这节内容,首先要知道Android电话的层次设计 Framework层的RIL中的RILReceiver线程从rild服务进程中读取modem发送上来的来电消息等信息,通过消息注册-响
Android 8.0来电流程分析(一)
来电时底层会上报消息到RIL层,在Android8.0上目前已经做了修改,不再使用Socket进行通信,而是使用ril_service服务进行通信,O的系统上引入了HIDL机制,telephony的framework层引用底层的服务就用到了此机制,这也导致了RIL层的调整,本篇博客在7.0的基础上进一步分析其变化,建议同步对照7.0和8.0的代码阅读。 1.我们从RIL层开始往上追溯,RIL接收
来电接听InCallScreen界面源码分析
本篇小文对来电接听InCallScreen界面进行源码分析,该文基于android5.1进行源码分析,由于使用了厂商提供的源码版本,和google官方发布的版本会有所差异。1. 效果图   我们先来看样机的实际运行效果图 我们通过图片定位到: packages/apps/InCallUI/res/values/array.xml 下面我们来看下array.xml中的代码
Android 7.0 通话界面(InCallUI)是怎么出来的。
InCallUI 最终的启动是在                packages\apps\Dialer\InCallUI\src\com\android\incallui\InCallPresenter.java           调用此函数启动的               public Intent getInCallIntent(boolean showDialpad, boole
Android 代码设置来电铃声
1、如果读到的是音频文件路径,需要先将音乐文件插入到多媒体库。 //设置--铃声的具体方法      public void setMyRingtone(String path)      {         File sdfile = new File(path);        ContentValues values = new ContentValues();        values
android 电话状态监听(来电和去电)实现代码
从事android开发的朋友们可能电话状态监听不是很擅长,接下来将详细介绍电话状态监听功能的实现步骤,需要了解的朋友可以参考下。 实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener。 TelephonseManger提供了取得手机基本服务的信息的一种方式。因此应用程序可以使用TelephonyManager来探测手机基本服务的情况。应
Android N来电拦截
骚扰号码存放的URI BlockedNumberContract.BlockedNumbers.CONTENT_URI   存放号码的列 BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER   ContentResolver contentResolver = getContext().getContentResolv
android 播放来电铃声
android中如何用mediaplayer播放自己设置的来电铃呢? 最近做一个android小应用的时候需要用到这个。上网查了一下,可以用mediaplayer播放自己的闹钟和来电铃声。十分感谢这万能的网络,这里也和大家分享一下。         Uri alert = R
Android 获取来电号码 + 悬浮框
获取来电号码,要引入两个包:import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; 清单文件中加两个权限: 1,开启一个Service,后台监听 在oncreate()中: mTelManager = (TelephonyManager) getSystemServi
Android之来电秀实现(一)
简单的说下实现来电秀的大概原理流程:首先通过监听来电状态,通过拦截来电然后在窗口弹出一层系统级别的弹窗,这层弹窗即是来电秀。 因为商用的原因,不能直接贴代码,所以在这里,会贴一些比较核心的代码,大概分为五个步骤: 第一:监听来电状态 /** * 电话状态监听(来电或去电) * * @author Jenly * */ public class PhoneStateRe
Android 8.0来电流程分析(三)
Telecomm Service 这里我们可以看出CallsManager的管理作用,创建Calls并添加监听,在完成Call的相关初始化后进行进一步处理,其实就是传递消息到别的的地方去。 1.那么继续到CallsManager中跟进 @Override public void onSuccessfulIncomingCall(Call incomingCall) { ...
android模拟打电话程序实现
今天我们实现一个简单的手机拨号器,其设计如下 : 下面是一个PhoneActivity.java文件,当PhoneActivity对象实例化之后会调用onCreate()方法,完成初始化操作,因此我们可以将为按钮添加处理点击事件的初始化代码写入onCreate()方法中去。 package cn.class3g.activity; import android.app.Activity;
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] 使用广播接收器Braodcast Receiver 监听手机来电 去电 挂断的事
Braodcast Receiver顾名思义就是广播接收器,它和时间处理机制类似,但是事件处理机制是程序组件级别的(比如:按钮的单击事件),而广播事件处理机制是系统级别的。我们可以用Intent来启动一个组件,也可以用sendBroadcast()方法发起一个系统级别的事件广播来传递消息。我们同样可以在自己的应用程序中实现Broadcast Receiver来监听和响应广播的Intent。
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 机器学习中如何处理大数据 ios音视频开发处理