Blocking Incoming call - Android
Step 1:
Create Broadcast receiver class for incoming call
Step 2:
Create IDL interface for getting core Telephony service
package name must be com.android.internal.telephony
FileName : ITelephony.aidl
Step 3:
AndroidManifest.xml configuration
Create Broadcast receiver class for incoming call
package com.javaorigin.android.sample; 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.telephony.TelephonyManager; import android.util.Log; public class PhoneCallReceiver extends BroadcastReceiver { Context context = null; private static final String TAG = "Phone call"; private ITelephony telephonyService; @Override public void onReceive(Context context, Intent intent) { Log.v(TAG, "Receving...."); TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); try { Class c = Class.forName(telephony.getClass().getName()); Method m = c.getDeclaredMethod("getITelephony"); m.setAccessible(true); telephonyService = (ITelephony) m.invoke(telephony); //telephonyService.silenceRinger(); telephonyService.endCall(); } catch (Exception e) { e.printStackTrace(); } } }
Step 2:
Create IDL interface for getting core Telephony service
package name must be com.android.internal.telephony
FileName : ITelephony.aidl
package com.android.internal.telephony; interface ITelephony { boolean endCall(); void answerRingingCall(); void silenceRinger(); }
Step 3:
AndroidManifest.xml configuration
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.javaorigin.android.sample" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <receiver android:name=".PhoneCallReceiver"> <intent-filter android:priority="100" > <action android:name="android.intent.action.PHONE_STATE" /> </intent-filter> </receiver> </application> <uses-sdk android:minSdkVersion="5" /> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-sdk android:minSdkVersion="8" /> </manifest>
Comments
Post a Comment