Frage

mein VoiP-Client möchte alle eingehenden Anrufe an das Telefon blockieren, während mein eigener Anruf stattfindet. Ist es möglich, dies irgendwie zu tun?

War es hilfreich?

Lösung

Nicht mit dem aktuellen SDK nein, können Sie eingehende Anrufe überwachen und dem Benutzer die Möglichkeit geben, mit Ihrer Anwendung zu beantworten anstelle der nativen App

Andere Tipps

Ja, Sie können eingehende Anrufe blockieren. Mit diesem 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();
    }

Danke.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top