阻止来电

发布于 2024-08-23 03:08:46 字数 52 浏览 6 评论 0原文

我的 VoiP 客户端希望在我自己的通话进行时阻止所有来电。有可能以某种方式做到这一点吗?

my VoiP-client would like to block all incoming calls to the phone while my own call is taking place. Is it possible to do this somehow?

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

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

发布评论

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

评论(2

紫竹語嫣☆ 2024-08-30 03:08:46

是的,您可以阻止来电。使用此代码

 String phonestate = bundle.getString(TelephonyManager.EXTRA_STATE);

 try 
    {
        if (TelephonyManager.EXTRA_STATE_RINGING.equalsIgnoreCase(phonestate)) 
        {
            try 
            {
                TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
                Class c = Class.forName(tm.getClass().getName());
                Method m = c.getDeclaredMethod("getITelephony");
                m.setAccessible(true);
                telephonyService = (com.android.internal.telephony.ITelephony) m.invoke(tm);
            }
            catch (Exception e) 
            {
                e.printStackTrace();
            }

            if (prefStatus != null) 
            {
                if (count == 1) 
                {
                    telephonyService.endCall();
                    String prefLoginemail = myloginpref.getString("emailid", null);
                    System.out.println(printdata + " prefLoginemail :: "+ prefLoginemail);

                    Global.mNotificationManager = (NotificationManager) mxcontext.getSystemService(Context.NOTIFICATION_SERVICE);
                    notifyDetails = new Notification(com.CellPhoneTerror.R.drawable.icon1,"CellPhoneTerror!", System.currentTimeMillis());
                    myIntent = PendingIntent.getActivity(mxcontext, 0, new Intent(mxcontext, clsHomePage.class), 0);

                    notifyDetails.setLatestEventInfo(mxcontext,"You Got a Call from Blocked Number.", "",myIntent);
                    notifyDetails.flags |= Notification.FLAG_AUTO_CANCEL;
                    Global.mNotificationManager.notify(Global.SIMPLE_NOTFICATION_ID,notifyDetails);

                }
            }
        }
        if (prefIncomingBlock.equals("true")) 
        {
            if (TelephonyManager.EXTRA_STATE_IDLE.equalsIgnoreCase(phonestate)) 
            {
                if (count == 0) 
                {
                    System.out.println("if Cellphoneterror:"+ Global.clsIncomingNum);
                    Intent block = new Intent(context, dialogbox1.class);
                    block.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(block);
                }
            }
        }
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }

谢谢。

Yes you can block incoming calls. Using this code

 String phonestate = bundle.getString(TelephonyManager.EXTRA_STATE);

 try 
    {
        if (TelephonyManager.EXTRA_STATE_RINGING.equalsIgnoreCase(phonestate)) 
        {
            try 
            {
                TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
                Class c = Class.forName(tm.getClass().getName());
                Method m = c.getDeclaredMethod("getITelephony");
                m.setAccessible(true);
                telephonyService = (com.android.internal.telephony.ITelephony) m.invoke(tm);
            }
            catch (Exception e) 
            {
                e.printStackTrace();
            }

            if (prefStatus != null) 
            {
                if (count == 1) 
                {
                    telephonyService.endCall();
                    String prefLoginemail = myloginpref.getString("emailid", null);
                    System.out.println(printdata + " prefLoginemail :: "+ prefLoginemail);

                    Global.mNotificationManager = (NotificationManager) mxcontext.getSystemService(Context.NOTIFICATION_SERVICE);
                    notifyDetails = new Notification(com.CellPhoneTerror.R.drawable.icon1,"CellPhoneTerror!", System.currentTimeMillis());
                    myIntent = PendingIntent.getActivity(mxcontext, 0, new Intent(mxcontext, clsHomePage.class), 0);

                    notifyDetails.setLatestEventInfo(mxcontext,"You Got a Call from Blocked Number.", "",myIntent);
                    notifyDetails.flags |= Notification.FLAG_AUTO_CANCEL;
                    Global.mNotificationManager.notify(Global.SIMPLE_NOTFICATION_ID,notifyDetails);

                }
            }
        }
        if (prefIncomingBlock.equals("true")) 
        {
            if (TelephonyManager.EXTRA_STATE_IDLE.equalsIgnoreCase(phonestate)) 
            {
                if (count == 0) 
                {
                    System.out.println("if Cellphoneterror:"+ Global.clsIncomingNum);
                    Intent block = new Intent(context, dialogbox1.class);
                    block.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(block);
                }
            }
        }
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }

Thanks.

小矜持 2024-08-30 03:08:46

当前的 SDK 不可以,您可以监控来电并为用户提供使用您的应用程序而不是本机应用程序接听的选项

Not with the current SDK no, You can monitor incoming calls and give the user the option to answer with your application instead of the native app

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