android auto answer,Incoming call auto answer in android 4.0.3

问题

I am working in Android technology last 1 years. Currently I want develop an application incoming call auto answer in Android 4.0.3 but in this version I am not getting any solution or can't find any api for this (ITelephony.aidl). Please suggest me.

回答1:

Its working code.

First find out that its incoming call using Phone state Broadcast Receiver.

filter.addAction("android.intent.action.PHONE_STATE");

mContext.registerReceiver(myCallReceiver, filter);

and then in onReceive(Context context, Intent intent) call answerPhoneHeadsethook() function.

private void answerPhoneHeadsethook(Context context) {

// Simulate a press of the headset button to pick up the call

Intent buttonDown = new Intent(Intent.ACTION_MEDIA_BUTTON);

buttonDown.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(

KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));

context.sendOrderedBroadcast(buttonDown,

"android.permission.CALL_PRIVILEGED");

// froyo and beyond trigger on buttonUp instead of buttonDown

Intent buttonUp = new Intent(Intent.ACTION_MEDIA_BUTTON);

buttonUp.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(

KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK));

context.sendOrderedBroadcast(buttonUp,

"android.permission.CALL_PRIVILEGED");

}

回答2:

In order to answer or reject a phone call MODIFY_PHONE_STATE permission is needed. Unfortunately since 2.3 and onwards it is only available for system apps. (more info here)

A workaround to answer the call (originally from here):

Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);

KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_HEADSETHOOK);

i.putExtra(Intent.EXTRA_KEY_EVENT, event );

context.sendOrderedBroadcast(i, null);

回答3:

This works from Android 2.2 to 4.0 and now after adding the try catch to the last line it works for 4.1.2 and 4.2 Frankly speaking dont know how it works but it works for me.

Log.d(tag, "InSecond Method Ans Call");

// froyo and beyond trigger on buttonUp instead of buttonDown

Intent buttonUp = new Intent(Intent.ACTION_MEDIA_BUTTON);

buttonUp.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(

KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK));

sendOrderedBroadcast(buttonUp, "android.permission.CALL_PRIVILEGED");

Intent headSetUnPluggedintent = new Intent(Intent.ACTION_HEADSET_PLUG);

headSetUnPluggedintent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);

headSetUnPluggedintent.putExtra("state", 0);

headSetUnPluggedintent.putExtra("name", "Headset");

try {

sendOrderedBroadcast(headSetUnPluggedintent, null);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

This is working for me in Android 4.1.2 as well as i have tested on 4.2

This still gives an exception which is handled.

来源:https://stackoverflow.com/questions/11648587/incoming-call-auto-answer-in-android-4-0-3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剑指offer之判断二叉树是不是平衡二叉树

1 问题 判断二叉树是不是平衡二叉树 平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1&#x…

主成分分析法_数学建模 || 葡萄酒的评价(1)主成分分析法

首先要说一下,这篇文章我在其他的平台发过,也是本人亲自写的,如果大家觉得眼熟的话放弃轻松,没有抄袭,主要是因为与我这 “葡萄酒的评价” 题目成系列了,因此在这里再把这个贴出来。2012 年 A 题葡萄酒的评…

微信jssdk开发,PHP,必要步骤

微信的文档几个重叠在一起,有点乱,自己用到就统计一下,减少字数直接上,毕竟懒。 一般说明步骤一:微信jssdk使用必须在微信公众平台进入其公众号设置,打开配置安全域名才可以。 安全域名则是请求调用微信接…

imagePreview接口调用微信自带图片播放器

2019独角兽企业重金招聘Python工程师标准>>> 在微信浏览器中,出现在网页上的图片通过点按一小段时间,可以调出微信隐藏的图片播放器,在播放器中看图可以随意放大缩小,体验更炫酷。不过这个功能默认只对通过微信后台编辑…

使用IdentityServer出现过SameSite Cookie这个问题吗?

原文作者:Sebastian Gingter原文链接:https://reurl.cc/Dygrgd译者:沙漠尽头的狼译文链接:https://reurl.cc/1ZYNoQ本文是作者2019年的一篇分享,里面的一些观点和使用的技术,对我们现在的开发依然有效&…

windows下sc create命令行添加/创建/修改服务

C:\Users\Administrator>HELP SC 描述: SC 是用于与服务控制管理器和服务进行通信的命令行程序。 用法: sc <server> [command] [service name] <option1> <option2>... 选项 <server> 的格式为 "\\ServerName"…

TypeError: 'MongoClient' object is not callable

在声明数据库的时候&#xff0c;将中括号[ ]换成了圆括号&#xff08;&#xff09;错误&#xff1a;修改完成后的代码&#xff1a;client pymongo.MongoClient(localhost)db client[my_database]#注意这里用中括号&#xff01;&#xff01; 之后再运行程序&#xff0c;就能存…

微信JSSDK分享页面自定义当前链接最简单示例

这个是使用微信原本的Deom修改 但是一定要注意几个注意事项&#xff0c;代码很简单&#xff0c;却让我一周mmp 在微信开发者工具调试&#xff0c;有时候你代码正确但是会报错 一定要真机调试 appid和secret一定要正确 一定要在在微信公众号后台设置正确的安全目录&#xff0c;…

信息系统开发有管理

做了一套题&#xff0c;又总结了下《信息系统开发与管理》。感觉又有了新的认识。这本书应该说总体的设计都是非常具有逻辑性的。内容设计的有些水到渠成。要说结构的话&#xff0c;应该算是总—分结构吧。一開始就以一篇概述全面的介绍了此书。我总结了以下的图。 信息、系统、…

C语言之字符数组在if{}里面赋值给char *引发的问题

1 问题 我的buff在if{}里面&#xff0c;然后对buff进行内存操作&#xff0c;最后赋值给char *类型的url,发现url最后没有得到数据 如下代码 #include <stdio.h> #define TRUE 1void set_value(char *p) {*p c;*(p 1) h;*(p 2) e;*(p 3) n; }int main() {char *…

python编译器如何设置中文_如何使setup.py test使用特定的fortran编译器?

我正在尝试测试一个包含一些f90文件的package。如果我构建或安装并指定fortran编译器&#xff0c;它可以正常工作。但是&#xff0c;当我尝试测试时&#xff0c;会出现以下错误&#xff1a;C:\Users\jsalvatier\workspace\scikits.bvp_solver>python setup.py config_fc --f…

memwatch内存泄露检测工具

工具介绍 官网 http://www.linkdata.se/sourcecode/memwatch/ 其功能如下官网介绍&#xff0c;挑选重点整理&#xff1a; 1、 号称功能&#xff1a; 内存泄露检测 &#xff08;检测未释放内存&#xff0c; 即 动态内存开辟未释放的情况&#xff09; 2、 检测 多次调用free&…

Windows命令大全

C:\Users\Administrator>help 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联。 ATTRIB 显示或更改文件属性。 BREAK 设置或清除扩展式 CTRL+C 检查。 BCDEDIT 设置启动数据库中的属性以控制启动加载。 CACL…

command not found Operation not permitted

mysql -uroot -p 报错误:command not found因为苹果在OS X 10.11中引入的SIP特性使得即使加了sudo&#xff08;也就是具有root权限&#xff09;也无法修改系统级的目录&#xff0c;其中就包括了/usr/bin。要解决这个问题有两种做法&#xff1a;比较不安全的就是关闭SIP&#x…

Main 和 静态构造函数 到底谁先执行?

最近被问到一个很有意思的问题&#xff0c;到底是 Main函数 先执行还是 静态构造函数 先执行&#xff1f;参考如下代码&#xff1a;class Program{static Program(){Console.WriteLine("我是 静态构造 函数&#xff01;");}static void Main(string[] args){Console.…

c 正则提取html,c – 正则表达式以获取HTML表格内容

确实没有可能的正则表达式解决方案适用于任意数量的表数据,并将每个单元格放入单独的后向引用中.这是因为通过反向引用,您需要为要创建的每个backref创建一个独特的开放式窗口,并且您不知道自己有多少个单元格.使用一种或另一种循环来提取数据没有任何问题.例如,在最后一个,在P…

(五)python3 只需3小时带你轻松入门—— 逻辑运算符

如果if判断中存在多个表达式判断&#xff0c;需要使用逻辑运算符。 例如有一个变量a&#xff0c;需要判断是否在1到5之间&#xff0c;那么则需要判断a是否大于1且a小于5。这个时候需要使用and逻辑运算符进行判断。 and python中使用and判断左右两边表达式是同时正确&#xff0c…

[linux]unixODBC的安装配置说明

什么是unixODBC&#xff1a; ODBC(Open Database Connect)是由Microsoft 公司于1991 年提出的一个开放的&#xff0c;用于访问数据库的统一接口规范。 unixODBC的是为非Window平台的系统实现ODBC规范接口的中间件。 unixODBC的安装 有GUI的用户可以使用ODBCConfig tool 安装。教…

linux之systemctl设置自定义服务

1 问题 在linux系统上设置自定义服务,或者让我的服务开机就运行起来,比如我们就以tomcat服务为例子 /usr/local/tomcat/bin/startup.sh 启动tomcat的脚本/usr/local/tomcat/bin/shutdown.sh 关闭tomcat的脚本/usr/local/tomcat/bin/restart.sh 重启tomcat的脚本 2 解决方法 …

ASP.NET MVC入门(一)---MVC的Hello World

简单的MVC Hello world,着重处理Controller。 Step1 创建一个Asp.Net MVC 5项目打开Visual studio 2013 点“文件”->新建->项目。