if(android.os.Build.VERSION.SDK_INT >=15 )
{
Intent meidaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
meidaButtonIntent.putExtra(Intent.EXTRA_KEY_EVENT,keyEvent);
context.sendOrderedBroadcast(meidaButtonIntent, null);
}
else
{
// 以下适用于Android2.3及2.3以上的版本上 ,但测试发现4.1系统上不管用。
Intent localIntent1 = new Intent(Intent.ACTION_HEADSET_PLUG);
localIntent1.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
localIntent1.putExtra("state", 1);
localIntent1.putExtra("microphone", 1);
localIntent1.putExtra("name", "Headset");
context.sendOrderedBroadcast(localIntent1, "android.permission.CALL_PRIVILEGED");
Intent localIntent2 = new Intent(Intent.ACTION_MEDIA_BUTTON);
KeyEvent localKeyEvent1 = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK);
localIntent2.putExtra(Intent.EXTRA_KEY_EVENT, localKeyEvent1);
context. sendOrderedBroadcast(localIntent2, "android.permission.CALL_PRIVILEGED");
Intent localIntent3 = new Intent(Intent.ACTION_MEDIA_BUTTON);
KeyEvent localKeyEvent2 = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
localIntent3.putExtra(Intent.EXTRA_KEY_EVENT, localKeyEvent2);
context.sendOrderedBroadcast(localIntent3, "android.permission.CALL_PRIVILEGED");
Intent localIntent4 = new Intent(Intent.ACTION_HEADSET_PLUG);
localIntent4.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
localIntent4.putExtra("state", 0);
localIntent4.putExtra("microphone", 1);
localIntent4.putExtra("name", "Headset");
context.sendOrderedBroadcast(localIntent4, "android.permission.CALL_PRIVILEGED");
}
相关推荐
这篇博客文章可能提供了一些关于如何在Android 2.3上处理电话接听问题的方法。 首先,我们要了解Android系统的电话服务接口,这是处理电话事件的核心。`PhoneStateListener`是Android提供的一个接口,允许应用监听...
《深入剖析Android 2.3 Phone源码》 Android 2.3,也被称为Gingerbread,是Android操作系统的一个重要版本,它为智能手机带来了许多改进和优化。源码的开放性是Android的一大特色,允许开发者深入理解系统底层运作...
【Android来电防火墙源码】是一个专为Android操作系统设计的应用程序,主要用于拦截并管理手机的来电和短信。从描述来看,该源码在Android 4.0.4版本上可能存在对于短信拦截功能的不兼容问题,而在较早的2.3版本中则...
通常,如果我们想使用SIM卡拨号上网功能,我们要在设置中进行简单的配置,步骤如下: 设置 -》无线和网络 -》... 首先,我们找到“移动网络”的设置UI——-Settings.java(/packages/apps/Phone/src/com/android/phon
在Android平台上,开发一个电话拨号代码程序涉及到对Android系统的理解,特别是它的权限管理、Intent机制以及电话服务API。下面将详细介绍这些知识点。 首先,Android系统是一个基于Linux内核的开源移动操作系统,...
- **接听电话:** 如何监听来电事件。 **7.4 处理短信** - **发送短信:** 发送SMS消息的方法。 - **接收短信:** 监听短信到达事件。 **7.5 小结** - **总结要点:** 对本章内容进行了总结。 **8.1 介绍Toast** ...
Android自2.3版本开始引入了对SIP的支持,允许开发者创建类似Sipdroid的应用程序。 1. **SipManager**:这是Android系统提供的主要接口,用于初始化SIP会话,注册/注销SIP账号,以及创建和管理SIP呼叫。 2. **...
### Android平台通讯架构研究 #### 一、电话系统概述 随着移动通信技术的进步及3G网络的广泛应用,智能手机成为日常生活中不可或缺的一部分。智能手机的核心功能之一就是支持电话通信,包括拨打电话、接听电话、...
Android Phone 模块作为整个 Android 系统中至关重要的组成部分,主要负责处理电话相关的功能和服务,包括但不限于接听、拨打电话、短信处理等。本章节将从总体框架出发,详细介绍 Android Phone 的各个组成部分。 ...
40. 电话接听切换:动态切换手机或蓝牙接听电话。 41. 同IO输入信号:MIC和AUX使用同一个IO做信号输入的设置方法。 42. USB/SD卡文件信息读取:从U盘或SD/tf卡中读取文件夹序号、总数和文件序号、总数。 43. 外挂...