Ich versuche zu wissen, wie ich warnen kann, wenn der Angerufene den Anruf annimmt. Ich habe PhoneStateListener
zusammen mit BroadcastReceiver
verwendet.Wie Sie wissen, dass der Angerufene den Anruf entgegengenommen hat (Wie lautet der Telefonstatus, wenn er den Anruf annimmt)
Im Allgemeinen hat es drei Zustände CALL_STATE_IDLE , CALL_STATE_OFFHOOK, CALL_STATE_RINGING
.
CALL_STATE_OFFHOOK
Zustand wurde aufgerufen, wenn Anruf verbindet, Kein Zustand der oben genannten drei Staaten wurde nach Angerufenen Anruf genannt.
Hier ist mein BroadcastReceiver.
public class PhoneStateBroadcastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(new CustomPhoneStateListener(context), PhoneStateListener.LISTEN_CALL_STATE);
}
public class CustomPhoneStateListener extends PhoneStateListener
{
Context context; //Context to make Toast if required
ActivityManager activityManager;
public CustomPhoneStateListener(Context context)
{
super();
this.context = context;
}
@Override
public void onCallStateChanged(int state, String incomingNumber)
{
super.onCallStateChanged(state, incomingNumber);
Log.v("PhoneStateBroadcastReceiver", "onCallStateChanged state"+state);
switch (state)
{
case TelephonyManager.CALL_STATE_IDLE:
Toast.makeText(context, "=CALL_STATE_IDLE==", Toast.LENGTH_LONG).show();
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Toast.makeText(context, "CALL_STATE_OFFHOOK", Toast.LENGTH_LONG).show();
break;
case TelephonyManager.CALL_STATE_RINGING:
Toast.makeText(context, "CALL_STATE_RINGING", Toast.LENGTH_LONG).show();
break;
default:
break;
}
}
}
}
Ich habe einige Anwendungen gesehen, die eine Stimme aufzeichnen, wenn Anruf angenommen wurde. Ich möchte den Status des Annehmens von Anrufen wissen.
Gibt es einen anderen Status oder Zuhörer, wenn der Angerufene den Anruf entgegennimmt?