这段时间做个来电方面的应用,android2.2下面可以直接利用反射机制调获取ITelephony.answerRingingCall(),可以实现接听电话。但android2.3下面这个方法已经被禁用了。
一下为android2.3接听电话解决方法
AudioManager localAudioManager = (AudioManager) paramContext
.getSystemService("audio");
int i2 = 1;
int i1 = 79;
boolean bool1 = localAudioManager.isWiredHeadsetOn();
if (!bool1) {
Intent localIntent3 = new Intent(
"android.intent.action.HEADSET_PLUG");
localIntent3.putExtra("state", 1);
localIntent3.putExtra("microphone", 0);
localIntent3.putExtra("name", "");
paramContext.sendBroadcast(localIntent3);
Intent meida_button = new Intent(
"android.intent.action.MEDIA_BUTTON");
KeyEvent localKeyEvent2 = new KeyEvent(i2, i1);
meida_button.putExtra("android.intent.extra.KEY_EVENT",
localKeyEvent2);
paramContext.sendOrderedBroadcast(meida_button, null);
Intent headset_plug = new Intent(
"android.intent.action.HEADSET_PLUG");
headset_plug.putExtra("state", 0);
headset_plug.putExtra("microphone", 0);
headset_plug.putExtra("name", "");
paramContext.sendBroadcast(headset_plug);
} else {
Intent meida_button = new Intent(
"android.intent.action.MEDIA_BUTTON");
KeyEvent localKeyEvent1 = new KeyEvent(i2, i1);
meida_button.putExtra("android.intent.extra.KEY_EVENT",
localKeyEvent1);
paramContext.sendOrderedBroadcast(meida_button, null);
}
分享到:
相关推荐
根据网上各位大大的帖子拼凑而成,在模拟器上和真机上均实现来电接听
在android手机上实现自动接听电话,2.3以下依靠的是对ITelephony的反射调用来实现,2.3-4.0是通过对耳机的模拟操作来实现,4.1以上有了一些变动,在这个demo中我没有对2.3进行处理,请朋友们自己去搜下2.3的处理方式
android通话记录助手,适用于android2.3 、4.0、4.1.有三个tab页面:第一个是全部通话记录,同一个人的记录是分开的,新增按号码删除和按时间删除功能;第二个tab页面是通话统计,统计每个月你拨打电话和接听电话的...
SIM卡实现拨号上网功能之前需要设置一番,这些设置步骤究竟做了哪些事情呢?我们现在就从源码的角度进行分析
注意:android2.3版本及以上不支持下面的自动接听方法。(会抛异常:java.lang.SecurityException: Neither user xxxxx nor current process has android.permission.MODIFY_PHONE_STATE.) 原因:android2.3版本及...
android自动接听电话源代码(2.3上不能实现自动接听)
接听电话* TASKER:更改图标集,如果,结束如果,转到操作,执行任务,配置文件切换,查询操作,设置小部件图标,设置小部件标签,停止,等待,等到 *变量:设置,清除,公司,Dec,查询,随机化,拆分,联接,列表...
接听电话*任务:更改图标集,如果,结束如果,转到操作,执行任务,配置文件切换,查询操作,设置窗口小部件图标,设置窗口小部件标签,停止,等待,等待直到 * VARIABLES:设置,清除,公司,12月,查询,随机化,...