android call and audio
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
ConnCtl *:s
- android audio (http://blog.csdn.net/myspor/article/details/6278788)
- android Phone 距离感应器锁的实现(http://blog.csdn.net/nadiee/article/details/17219903)
- android -- 蓝牙 bluetooth (五)接电话与听音乐(http://blog.csdn.net/baimy1985/article/details/9275559)
-
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
private void setSpeakerphoneOn(boolean on) {
if(on) {
audioManager.setSpeakerphoneOn(true);
} else {
audioManager.setSpeakerphoneOn(false);//关闭扬声器
audioManager.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_EARPIECE, AudioManager.ROUTE_ALL);
setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
//把声音设定成Earpiece(听筒)出来,设定为正在通话中
audioManager.setMode(AudioManager.MODE_IN_CALL);
}
}
- 如果有 android 源代码,直接编译出 framework.jar。把这个jar包加到你的项目classpath里,然后那些hidden, internal 的类和方法都可以直接用了。
- try {
- Toast.makeText(getApplicationContext(), "dddd", 1).show();
- ITelephony it = PhoneUtil.getITelephony(tlmar);
- it.silenceRinger();
- // it.endCall();//拒接
- it.answerRingingCall();//自动接听
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
1、电话拦截
这个功能大家可能都知道了,就是利用反射原理调用ITelephony的隐藏方法来实现。
- //利用反射获取隐藏的endcall方法
- TelephonyManager telephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
- try {
- Method getITelephonyMethod = TelephonyManager.class.getDeclaredMethod("getITelephony", (Class[]) null);
- getITelephonyMethod.setAccessible(true);
- iTelephony = (ITelephony) getITelephonyMethod.invoke(telephonyMgr, (Object[]) null);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- //挂断电话
- iTelephony.endCall();
2、拦截后提示忙音/空号/已关机/已停机
这个功能其实是要用到MMI指令,具体如何设置呼叫转移的指定可以参考这里 http://baike.baidu.com/view/206402.html?fromTaglist。
在本文中我们会用到“遇忙转移”的功能。中国移动的设置方式是 **67#电话号码#,取消方式为 ##67#。”无条件转移“用21代替67即可。这两个指令可以直接在手机的拨号界面输入并拨号测试。ITelephony的endcall方法挂断电话后,会提示电话忙。如果事前设置好了忙时转移到一个空号/已关机/已停机的电话号码,就会提示您拨的电话号码是空号/已关机/已停机。
其实大家可以下载 xxx卫士看下,它设置来电拒接模式后,都是会启动设置MMI指令的界面。然后再去“设置->通话设置->来电转接”,看看 “占线时转接” 设置好的电话号码,就可以知道空号/已关机/已停机对应的电话号码是什么了。
- Message message = mHandler.obtainMessage();
- message.what = OP_REGISTER;
- mHandler.dispatchMessage(message);
- mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
- //先静音处理
- mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
- //再恢复正常铃声
- mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
- private Handler mHandler = new Handler() {
- public void handleMessage(Message response) {
- int what = response.what;
- switch(what) {
- case OP_REGISTER:{
- Intent i = new Intent(Intent.ACTION_CALL);
- i.setData(Uri.parse(ENABLE_SERVICE));
- startActivity(i);
- break;
- }
- case OP_CANCEL:{
- Intent i = new Intent(Intent.ACTION_CALL);
- i.setData(Uri.parse(DISABLE_SERVICE));
- startActivity(i);
- break;
- }
- }
- }
- };
android call and audio的更多相关文章
- Android中的Audio播放:竞争Audio之Audio Focus的应用
from://http://blog.csdn.net/thl789/article/details/7422931 Android是多任务系统,Audio系统是竞争资源.Android2.2之前,没 ...
- Android中的Audio播放:控制Audio输出通道切换
Audio 输出通道有很多,Speaker.headset.bluetooth A2DP等.通话或播放音乐等使用Audio输出过程中,可能发生Audio输出通道的切换.比如,插入有线耳机播放音乐时,声 ...
- Android手机上Audio DSP频率低 memory小的应对措施
我在前面的文章(Android智能手机上的音频浅析)中说过Android手机上有一块专门用于音频处理的DSP,它的特点是频率低(一般几百MHZ).内部memory小(通常不超过100k word).要 ...
- Android : android 8.0 audio 接口分析
1.HIDL 的概念 HIDL 读作 hide-l,全称是 Hardware Interface Definition Language.它在 Android Project Treble 中被起草, ...
- Android系统分析之Audio音频流, 音频策略, 输出设备之间的关系
音频流, 音频策略, 输出设备之间的关系 只针对 AudioManager.STREAM_VOICE_CALL 音频流类型进行分析 涉及到的类: hardware/libhardware_legacy ...
- android wifi Direct Audio TX/RX延迟分析
1 Direct Audio TX代码流程 1.1 从Host到FW 1.1.1 代码流程 htc.c::HifLayerRecvCallback//从HIF_USB_CONTEXT获取数据中断,具体 ...
- MT6737 Android N 平台 Audio系统学习----录音到播放录音流程分析
http://blog.csdn.net/u014310046/article/details/54133688 本文将从主mic录音到播放流程来进行学习mtk audio系统架构. 在AudioF ...
- The RK3066/RK30SDK Android 4.2 audio codec has a bug!
在文件kernel/sound/soc/soc-core.c中,函数soc_bind_dai_link引入了一个新定义的宏CODEC_NAME_CMP,这个新玩意导致了后面的strcpy(p_code ...
- MTK Android Driver :Audio音频参数
音频参数集成(具体参数由硬件提供) 1.ring/key/mic/fmr/speech/sidetone/media/matv增益: \mediatek\custom\k9\cgen\inc\audi ...
随机推荐
- Linux命令之乐--sed
sed是stream edit的缩写,是处理文本非常重要的工具. 常见用法: 1. 替换文本 1.1 替换文本中的第一处符合的样式 sed 's/pattern/replace_string' fil ...
- [XPath] XPath 与 lxml (一)XPath 术语
前言 这是一篇主要介绍 XPath 的文章,由于 JQuery 已经不支持 XPath,所以本文主要通过 Python 的 lxml.etree 来介绍 XPath. 什么是 XPath ? XPat ...
- 分布式计算开源框架Hadoop入门实践
目录(?)[+] Author :岑文初 Email: wenchu.cenwc@alibaba-inc.com msn: cenwenchu_79@hotmail.com blog: http:// ...
- oracle URL参数获取
改函数主要是从URL中获取参数例如 sssss.html?cur=aaa&ref=cccc 调用方式:f_querystr(url,'cur','&'); CREATE OR REPL ...
- 敏捷开发中的Scrum流程和术语【转】
任何人力流程都离不开人来执行,所以在讲解Scrum流程之前,有必要先把Scrum中的角色讲一下. 一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说 ...
- ORACLE学习笔记 translate,REGEXP_replace
从一串文本中提取数字: select translate('用纸箱包200/箱',REGEXP_replace('用纸箱包200PCS/箱','[0-9]',''),' ')from dual; tr ...
- strcat的几种实现及性能比较
一 原型说明 strcat()为C语言标准库函数,用于字符串拼接.函数原型声明在string.h头文件中: char *strcat(char *dest, const char *src); 该函 ...
- IOS设计模式第八篇之键值观察模式
版权声明:原创作品,谢绝转载!否则将追究法律责任. 键值观察模式: 在KVO,一个对象可以要求被通知当他的某个特殊的属性被改变了.自己或者另一个对象.如果你感兴趣你可以阅读更多的信息参考: Apple ...
- css3整理--rgba
rgba语法: rgba(0, 0, 0,0.5); 第一个参数:R 红色(0-255) 第二个参数:G 绿色(0-255) 第三个参数:B 蓝色(0-255) 第四个参数:透明度(0-1)使用rgb ...
- 题目1016:火星A+B(进制新问题)
题目链接:http://ac.jobdu.com/problem.php?pid=1016 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...