Is there a way to listen for incoming calls by extending BroadcastReceiver to listen to the OS broadcast without using PhoneStateIntentReceiver or PhoneStateListener. Also, please tell me what the actions and permissions will be in the manifest.
I tried to work as follows, but it does not work for incoming calls, but works for outgoing
The only .java application file is as follows (the application contains only one .java file and one manifest file)
package com.crsardar.media.audio; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class IncommingCallReceiverCRS extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Log.e("Chitta : ", "Its working"); } }
manifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.crsardar.media.audio" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <receiver android:name="IncommingCallReceiverCRS" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.ANSWER" > <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> </manifest>
android android-broadcast
CR Sardar
source share