如何结束我的呼出。 [英] how to end up my outgoing call.

查看:110
本文介绍了如何结束我的呼出。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

statrtActivity(callIntent),电话会,然后我要等待几秒钟,自动结束。结束了我的电话我已经采取mycalss延伸的BroadcastReceiver然后在的onReceive()我implemented.in这个方法我只拿到了设置的老号码,newnumber和烤面包是打印。 我想究竟是结束叫什么我需要写。以及如何从我的类调用的onReceive方法? plase帮助我。我没有得到任何地方。

  @覆盖
                公共无效的onReceive(上下文的背景下,意图意图){
                    最后弦乐oldNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
                    this.setResultData(newPhNnumber);
                    最后弦乐newNumber = this.getResultData();
                    如果((newNumber = NULL)及!&安培;!(newNumber = oldNumber))
                    {
                    弦乐味精=截获呼出老号+ oldNumber +,新号码+ newNumber;
                    Toast.makeText(背景下,味精,Toast.LENGTH_LONG).show();
                    this.abortBroadcast(); ---->它做什么?
                }
 

解决方案

您可以尝试这样的:

  TelephonyManager TM =(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
尝试 {
    C类=的Class.forName(tm.getClass()的getName());
    方法米= c.getDeclaredMethod(getITelephony);
    m.setAccessible(真正的);
    ITelephony telephonyService =(ITelephony)m.invoke(商标);

    telephonyService.endCall();

}赶上(例外五){
    e.printStackTrace();
}
 

with statrtActivity(callIntent), call goes and then i have to wait for few seconds and end automatically. to end up my call i have taken mycalss extends Broadcastreceiver then in that onreceive() i implemented.in that method i got only to set old number and newnumber and toast is printing. What i want exactly is to end call what i need to write. and how to call onreceive method from my class? plase help me. i didnt get anywhere.

 @Override
                public void onReceive(Context context, Intent intent) {                                 
                    final String oldNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);         
                    this.setResultData(newPhNnumber);                                                   
                    final String newNumber = this.getResultData();
                    if((newNumber!=null)&&(newNumber!=oldNumber))
                    {
                    String msg = "Intercepted outgoing call. Old number " + oldNumber + ", new number " + newNumber;
                    Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
                    this.abortBroadcast();----> what it does?
                }

解决方案

You may try this:

TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
try {
    Class c = Class.forName(tm.getClass().getName());
    Method m = c.getDeclaredMethod("getITelephony");
    m.setAccessible(true);
    ITelephony telephonyService = (ITelephony) m.invoke(tm);

    telephonyService.endCall();

} catch (Exception e) {
    e.printStackTrace();
}

这篇关于如何结束我的呼出。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆