Skip to main content

Block incoming calls in android

How to block calls in Android/Reject incoming calls in android/program to block unwanted calls in Android/Android call   blocking example/blacklist example in android

Create an interface ITelephony.java with package name com.android.internal.telephony

ITelephony.java
package com.android.internal.telephony;

public interface ITelephony
{

      boolean endCall();
       void answerRingingCall();

}


Create a broadcast receiver and get incoming number from intent. 

CallReceiver.java
package com.example;

import java.lang.reflect.Method;
import com.android.internal.telephony.ITelephony;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.TelephonyManager;

public class CallReceiver extends BroadcastReceiver{

      private String incomingnumber;

      @Override
      public void onReceive(Context context, Intent intent) {
            String s[]={"9000000000","800000000"};
            Bundle b = intent.getExtras();
            incomingnumber = b.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
            try {

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

                  for (int i = 0; i < s.length; i++) {
                        if(s[i].equals(incomingnumber)){
                              telephonyService.endCall();
                        }
                  }
            }
            catch (Exception e) {
                  // TODO: handle exception
            }
      }
}




In manifest file


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example" android:versionCode="1" android:versionName="1.0">
      <uses-sdk android:minSdkVersion="10" />
      <uses-permission android:name="android.permission.READ_PHONE_STATE" />
      <application android:icon="@drawable/icon" android:label="@string/app_name">
            <receiver android:name=".CallReceiver">
                  <intent-filter>
                        <action android:name="android.intent.action.PHONE_STATE" />
                  </intent-filter>
            </receiver>

      </application>
</manifest>

See more

Comments

  1. Not a block incomming call of this code.. Please help

    ReplyDelete
  2. Try to add



    to your manifest file

    ReplyDelete
    Replies
    1. Try to add 'android.permission.CALL_PHONE' to your manifest file

      Delete
  3. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. hey it is working in my emulator but not in my phone.
      i have came to know that it is not supported nowadays. as they don't want third party apps to reject calls. it was working well in the past but not from now.

      Delete

Post a Comment

Popular posts from this blog

Custom Spinner in Android

Custom Spinner in Android/Spinner using custom adapter/spinner with icon and text  In this tutorial, i'll show you to customizing spinner in different methods.  To change the normal display of spinner view, add background image using the code " android:background="@drawable/myspinner_background" in the xml. You can also make it customizable by setting up an xml file in drawable folder Custom display with icon in the spinner   main.xml <? xml version = "1.0" encoding = "utf-8" ?> < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"     android:orientation = "vertical"     android:layout_width = "fill_parent"     android:layout_height = "fill_parent"     >     < Spinner     android:drawSelectorOnTop = "true"     android:id = "@+id/spinner1"     android:layout_width = "match_parent"     and...

Capture image without surface view as background service in android

Capture image without user knowledge in android/Capture image as background service in android/Take photo without preview in android/ Camera without preview in android  package com.example.picture; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Service; import android.content.Context; import android.content.Intent; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.media.AudioManager; import android.os.IBinder; import android.util.Log; import android.view.SurfaceHolder; import android.view.SurfaceView; public class CameraService extends Service {       //Camera variables       //a surface holder       private SurfaceHolder sHolder ;        //a variable to control the camera       private Camera mCamera ;   ...

Progressbar example in android

Progress bar In android, progress bar can be used to tell the user the task takes longer time to finish. Progress  bar displays a bar which represent how far the operations has progressed. Progress bar can be made indeterminate. In indeterminate mode, progress bar shows a cyclic animation without indication progress. In this tutorial, I’ll show how to display a progress bar  package com.example; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.ProgressBar; import android.widget.TextView; public class ProgressbarExamplActivity extends Activity {       private ProgressBar bar ;       private TextView txt ;       protected boolean isRunning ;       /** Called when the activity is first created. */       @Override       public void ...