• 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)
    • 分类: android2013-12-09 11:03 4254人阅读 评论(1) 收藏 举报
      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的隐藏方法来实现。

  1. //利用反射获取隐藏的endcall方法
  2. TelephonyManager telephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
  3. try {
  4. Method getITelephonyMethod = TelephonyManager.class.getDeclaredMethod("getITelephony", (Class[]) null);
  5. getITelephonyMethod.setAccessible(true);
  6. iTelephony = (ITelephony) getITelephonyMethod.invoke(telephonyMgr, (Object[]) null);
  7. } catch (Exception e) {
  8. e.printStackTrace();
  9. }
  10. }
  1. //挂断电话
  2. iTelephony.endCall();

2、拦截后提示忙音/空号/已关机/已停机

这个功能其实是要用到MMI指令,具体如何设置呼叫转移的指定可以参考这里 http://baike.baidu.com/view/206402.html?fromTaglist。

在本文中我们会用到“遇忙转移”的功能。中国移动的设置方式是 **67#电话号码#,取消方式为 ##67#。”无条件转移“用21代替67即可。这两个指令可以直接在手机的拨号界面输入并拨号测试。ITelephony的endcall方法挂断电话后,会提示电话忙。如果事前设置好了忙时转移到一个空号/已关机/已停机的电话号码,就会提示您拨的电话号码是空号/已关机/已停机。

其实大家可以下载 xxx卫士看下,它设置来电拒接模式后,都是会启动设置MMI指令的界面。然后再去“设置->通话设置->来电转接”,看看 “占线时转接” 设置好的电话号码,就可以知道空号/已关机/已停机对应的电话号码是什么了。

  1. Message message = mHandler.obtainMessage();
  2. message.what = OP_REGISTER;
  3. mHandler.dispatchMessage(message);
    1. mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
      1. //先静音处理
      2. mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
        1. //再恢复正常铃声
        2. mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
        1. private Handler mHandler = new Handler() {
        2. public void handleMessage(Message response) {
        3. int what = response.what;
        4. switch(what) {
        5. case OP_REGISTER:{
        6. Intent i = new Intent(Intent.ACTION_CALL);
        7. i.setData(Uri.parse(ENABLE_SERVICE));
        8. startActivity(i);
        9. break;
        10. }
        11. case OP_CANCEL:{
        12. Intent i = new Intent(Intent.ACTION_CALL);
        13. i.setData(Uri.parse(DISABLE_SERVICE));
        14. startActivity(i);
        15. break;
        16. }
        17. }
        18. }
        19. };

android call and audio的更多相关文章

  1. Android中的Audio播放:竞争Audio之Audio Focus的应用

    from://http://blog.csdn.net/thl789/article/details/7422931 Android是多任务系统,Audio系统是竞争资源.Android2.2之前,没 ...

  2. Android中的Audio播放:控制Audio输出通道切换

    Audio 输出通道有很多,Speaker.headset.bluetooth A2DP等.通话或播放音乐等使用Audio输出过程中,可能发生Audio输出通道的切换.比如,插入有线耳机播放音乐时,声 ...

  3. Android手机上Audio DSP频率低 memory小的应对措施

    我在前面的文章(Android智能手机上的音频浅析)中说过Android手机上有一块专门用于音频处理的DSP,它的特点是频率低(一般几百MHZ).内部memory小(通常不超过100k word).要 ...

  4. Android : android 8.0 audio 接口分析

    1.HIDL 的概念 HIDL 读作 hide-l,全称是 Hardware Interface Definition Language.它在 Android Project Treble 中被起草, ...

  5. Android系统分析之Audio音频流, 音频策略, 输出设备之间的关系

    音频流, 音频策略, 输出设备之间的关系 只针对 AudioManager.STREAM_VOICE_CALL 音频流类型进行分析 涉及到的类: hardware/libhardware_legacy ...

  6. android wifi Direct Audio TX/RX延迟分析

    1 Direct Audio TX代码流程 1.1 从Host到FW 1.1.1 代码流程 htc.c::HifLayerRecvCallback//从HIF_USB_CONTEXT获取数据中断,具体 ...

  7. MT6737 Android N 平台 Audio系统学习----录音到播放录音流程分析

    http://blog.csdn.net/u014310046/article/details/54133688 本文将从主mic录音到播放流程来进行学习mtk audio系统架构.  在AudioF ...

  8. 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 ...

  9. MTK Android Driver :Audio音频参数

    音频参数集成(具体参数由硬件提供) 1.ring/key/mic/fmr/speech/sidetone/media/matv增益: \mediatek\custom\k9\cgen\inc\audi ...

随机推荐

  1. Linux应急响应入侵排查思路

    0x00 前言 ​ 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...

  2. Git 学习笔记--Git下的冲突解决

    冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动m ...

  3. 利用DB实现简单去重处理

    业务需要针对某文件进行判重操作,用Perl实现如下 #!/usr/bin/perl my %h; s/\s+$// and $h{$_}++ while <>; print "$ ...

  4. Splash 简介与安装

    Splash 说白了就是一个轻量级的浏览器,利用它,我们同样可以实现跟其他浏览器一样的操作,我们使用 Docker 来安装 Splash: [root@localhost ~]# docker run ...

  5. Selenium 选项卡管理

    什么是选项卡: from selenium import webdriver browser = webdriver.Chrome() browser.get("http://www.bai ...

  6. Kafka 0.11版本新功能介绍 —— 空消费组延时rebalance

    在0.11之前的版本中,多个consumer实例加入到一个空消费组将导致多次的rebalance,这是由于每个consumer instance启动的时间不可控,很有可能超出coordinator确定 ...

  7. React Native(十一)——删除事件以及刷新列表

    需求:删除列表中的某一项,但不刷新整个页面,底下的数据顺势而上(第一张是原始数据,第二张是删除掉"你会介今年"这条动态后显示的数据). 中间的过程比较曲折,只因为刚开始的时候自己只 ...

  8. x64枚举DPC定时器

    @写在前面      不同于x86,x64的DPC是被加密了的.对于x64DPC的兴趣始于我已经流产的scalpel计划.当时问某牛怎么遍历,得到的答案是“500大洋给代码”.真是R了狗了,好歹小哥我 ...

  9. Android英文文档翻译系列(6)——LocalBroadcastManager

    public class LocalBroadcastManager extends Object java.lang.Object    ↳ android.support.v4.content.L ...

  10. 【css系列】创建网页加载进度条

    一.最简单或者明显的方式是使用定时器 1.在网页中加入布局覆盖真实网页内容 2.使用定时器确定加载所用时间的长短,其实并不是真正的加载进度实现 <!DOCTYPE html> <ht ...