android-贴一段代码,关于自动接听的,请老司机帮帮忙

问题描述

贴一段代码,关于自动接听的,请老司机帮帮忙
public synchronized void answerRingingCall(Context context) {
    try {
        Log.e("try to answer", "below 2.3");
        //ITelephony itelephony = getITelephony(mTelephonyManager);
        Method method = Class.forName("android.os.ServiceManager").getMethod("getService", String.class);
        IBinder binder = (IBinder) method.invoke(null, new Object[]{TELEPHONY_SERVICE});
        ITelephony itelephony = ITelephony.Stub.asInterface(binder);
        //itelephony.silenceRinger();
        itelephony.answerRingingCall();
    } catch (Exception e1) {
        Log.e("try to answer","2.3~4.1",e1);
        try {
            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("android.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("android.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");
        } catch (Exception e2) {
            try{
                Log.e("try to answer", "for 4.1 and above way1");
                Intent intent = new Intent("android.intent.action.MEDIA_BUTTON");
                KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
                intent.putExtra("android.intent.extra.KEY_EVENT",keyEvent);
                context.sendOrderedBroadcast(intent,"android.permission.CALL_PRIVILEGED");
            } catch (Exception e3) {
                Log.d("try to answer", "for 4.1 and above way2", e3);
                Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
                KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
                mediaButtonIntent.putExtra(Intent.EXTRA_KEY_EVENT,keyEvent);
                context.sendOrderedBroadcast(mediaButtonIntent, null);
            }
        }
    }
}

最近在做一个关于通话的app,网上收集了些资料,但都比较老,整理出了这段代码,跑在模拟器上,用终端模拟电话呼入,模拟器只有5.0(API 21)的版本
结果代码跑到了"for 4.1 and above way1"这段里,也没有报错,但却无法接起电话。不知道是模拟器的原因,还是代码的问题?手边没有android的手机所以只能在模拟器折腾,请老司机帮帮忙~

时间: 2024-11-02 08:12:25

android-贴一段代码,关于自动接听的,请老司机帮帮忙的相关文章

能否通过node.js写一段代码 实现自动导出svn的提交日志?

问题描述 能否通过node.js写一段代码 实现自动导出svn的提交日志? 目前的难点是只能查看svn的提交日志 无法通过代码获取 求提示 解决方案 http://blog.csdn.net/xu1314/article/details/6185361

timer-C# 这段代码总是自动执行两次

问题描述 C# 这段代码总是自动执行两次 private void Web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { WebBrowser web = sender as WebBrowser; web.Document.Window.Error += new HtmlElementErrorEventHandler(Web_Error);//去掉错误提示 if (web.Tag != n

eclipse-在Eclipse中怎么编写一段代码可以自动找到想要的文件和打印出所在的路径?

问题描述 在Eclipse中怎么编写一段代码可以自动找到想要的文件和打印出所在的路径? 在Eclipse中怎么编写一段代码可以自动找到想要的文件和打印出所在的路径? 解决方案 http://blog.csdn.net/aotian16/article/details/5775778

java-这段代码没看明大神们来帮看一下

问题描述 这段代码没看明大神们来帮看一下 这段代码没看明大神们来帮忙看下,尤其是if(flag)这块,还有while(true)为什么是死循环呢?小弟自学求大神说的详细一点. 解决方案 首先flag是实例变量,程序在生成你的测试类的实例时,会为实例变量赋初始值,boolean类型的默认值为false,在上面的程序中flag的值为false,程序走else分支,然后遇到while语句,while语句的格式为while(boolean){statements},意思是先判断boolean的值,如果为

callback(data)-javascript代码,从request取到callback值之后,有段代码没看懂,请大神指导。

问题描述 javascript代码,从request取到callback值之后,有段代码没看懂,请大神指导. if('${callback}' != ''){ var callback = eval('window.opener.${callback}'); callback(data); } 非常疑惑,为什么可以执行callback(data);这段代码没看懂啊. 解决方案 callback 是一个方法吧,你找找看

eclipse-模糊搜索,为什么只显示一条信息,代码如下,请各位大侠帮帮忙吧

问题描述 模糊搜索,为什么只显示一条信息,代码如下,请各位大侠帮帮忙吧 Dim texts As StringDim mrc As ADODB.RecordsetSet mrc = New ADODB.RecordsetSet mrc = ExecuteSQL(txtsql1) 'If mrc.EOF = False Then With MSF1 .Rows = 22 .Row = 1 mrc.MoveFirst Do While Not mrc.EOF For i = 1 To 2 .Text

python pyq...-pyqt5自动生成界面类无法显示,请大牛们帮帮忙!!

问题描述 pyqt5自动生成界面类无法显示,请大牛们帮帮忙!! 本人新手,采用Qt Designer自动生成界面类Ui_MainWindow后,采用下面两种方法结果为何不同,其中通过多重继承来显示界面的方法却没有显示预期效果,问题在哪里,纠结了好几天了!!请大牛们帮帮忙!!

这段代码是什么意思,请前辈解释一下。

问题描述 大家好!这是公司用的新版出口退税软件里一段代码,不知道是什么意思,请前辈解释一下:privatestringGetTaxString(){returnmyString.GetType().GetMethod("GetStirng").Invoke(myString,newobject[]{TaxPWD2}).ToString();}好象是一个自定义函数,请高手们帮忙解释一下. 解决方案 解决方案二:反射调用myString.GetStirng()方法,并且把TaxPWD2作为

android studio-萌新的安卓之路,跪求老司机降临

问题描述 萌新的安卓之路,跪求老司机降临 萌新刚踏上安卓之路,但是这个世界好陌生,故此番前来向老司机请教,请收下我的膝盖.萌新就想问一下,我现在对安卓开发什么都不会,并且想使用Android studio作为集成开发环境,我该怎么办,去哪找学习资料来搭建好我的第一个hellow world,以及指导后面的进阶之路,跪求,我现在无从下手 恩,我学过java,想在Windows上用Android studio开发,我同学给过我一些学习资料,诸如 Android15天之类的视频,但是那个是基于ecli