如何结束我的去电。

发布于 2025-01-08 11:39:59 字数 1018 浏览 0 评论 0原文

使用 statrtActivity(callIntent) ,通话开始,然后我必须等待几秒钟并自动结束。为了结束我的通话,我采取了 mycalss 扩展 Broadcastreceiver 然后在我实现的 onreceive() 中。在该方法中,我只需设置旧号码和新号码,并且 toast 正在打印。 我真正想要的是结束调用我需要写的内容。以及如何从我的班级调用 onreceive 方法?请帮助我。我什么也没得到。

 @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?
                }

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?
                }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓬勃野心 2025-01-15 11:39:59

你可以试试这个:

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();
}

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();
}
宣告ˉ结束 2025-01-15 11:39:59

您只需通过以下代码中止拨出呼叫

public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub

    if (intent.getAction()
            .equals("android.intent.action.NEW_OUTGOING_CALL")) {

        phoneNo = intent
                .getStringExtra(Intent.EXTRA_PHONE_NUMBER);

        if (phoneNo.isBlocked(blockNo)) {
            setResultData(null);

        }
    }
}

you simply abort outgoing call through following code

public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub

    if (intent.getAction()
            .equals("android.intent.action.NEW_OUTGOING_CALL")) {

        phoneNo = intent
                .getStringExtra(Intent.EXTRA_PHONE_NUMBER);

        if (phoneNo.isBlocked(blockNo)) {
            setResultData(null);

        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文