Écouter les appels entrants par le biais de BroadcastReceiver, sans PhoneStateIntentReceiver ou PhoneStateListener
Est-il possible d'écouter les appels entrants par l'extension de BroadcastReceiver pour écouter OS de la diffusion,sans l'aide de PhoneStateIntentReceiver ou PhoneStateListener.
Aussi s'il vous plaît dites-moi ce que sera l'action et les autorisations dans le manifeste.
J'ai essayé comme suit, mais il ne fonctionne pas pour les appels entrants, mais travaillant pour sortant
Le seul .fichier java de l'application(l'application d'une seule .java fichier et un fichier de manifeste)
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");
}
}
manifeste
<?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.NEW_OUTGOING_CALL"/-->
<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>
OriginalL'auteur CR Sardar | 2011-03-30
Vous devez vous connecter pour publier un commentaire.
L'action que vous avez défini dans votre manifeste est incorrect. c'est une Action d'Intention qui peut être utilisé pour répondre à un appel et de ne pas suivre les appels entrants.
Vous pouvez utiliser deux récepteurs de radiodiffusion à l'écoute des ACTION_PHONE_STATE_CHANGED et NEW_OUTGOING_CALL diffusion intentions.
La ACTION_PHONE_STATE_CHANGED sera reçu quand il y a un nouvel appel entrant, appel a répondu ou hangup (Voir la documentation pour les EXTRAs reçu à cette Intention).
La NEW_OUTGOING_CALL sera reçu quand il y a un nouvel appel sortant sur votre appareil.
Comme pour les autorisations, je pense que vous l'avez sur la droite dans votre manifeste, (je suppose que le RECORD_AUDIO autorisation est utilisé pour quelque chose d'autre dans votre application)
OriginalL'auteur Muzikant
Ici est Mon démo pour android test de l'unité. Vous pouvez vous y référer.
N'oubliez pas d'ajouter des autorisations
OriginalL'auteur Victor Choy