O
otX
Neues Mitglied
- 1
auf die unten gezeigte art fange ich den status eines Anrufes ab das klappt auch wunderbar !
eingehender anruf angenommen:
TelephonyManager.EXTRA_STATE_RINGING = erstellt tabelleneintrag
TelephonyManager.EXTRA_STATE_OFFHOOK = update Startzeit
TelephonyManager.EXTRA_STATE_IDLE = update Endzeit
eingehender anruf abgelehnt:
TelephonyManager.EXTRA_STATE_RINGING = erstellt tabelleneintrag
TelephonyManager.EXTRA_STATE_IDLE = update Endzeit
Die Startzeit bleibt = 0 und es ist klar das der Anruf abgelehnt wurde
Mein Problem beginnt mit den ausgehenden anrufen da dort in jedem fall, egal ob das Gespräch aufgebaut wird oder ob ich mir 5 min das freizeichen anhöre, diese reihenfolge aufgerufen wird :
android.intent.action.NEW_OUTGOING_CALL = erstellt tabelleneintrag
TelephonyManager.EXTRA_STATE_OFFHOOK = update Startzeit
TelephonyManager.EXTRA_STATE_IDLE = update Endzeit
würde mich freuen wenn mir jemand sagen könnte wie ich herausbekomme ob ein ausgehender Anruf auch wirklich angenommen wurde.
Code:
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("android.intent.action.PHONE_STATE")) {
String state = intent.getStringExtra(
TelephonyManager.EXTRA_STATE);
if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
update DB ANRUF ENDZEIT
} else if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
String incomingNumber = intent.getStringExtra(
TelephonyManager.EXTRA_INCOMING_NUMBER);
Insert DB ANRUF TYP= INCOM, STARTZEIT = 0, ENDZEIT = 0
} else if (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK){
update DB ANRUF Startzeit
}
} else if(intent.getAction().equals(
"android.intent.action.NEW_OUTGOING_CALL")) {
Insert DB ANRUF TYP= OUTGO, STARTZEIT = 0, ENDZEIT = 0
} else {
Log.i(unexpected intent.action", intent.getAction());
}
}
eingehender anruf angenommen:
TelephonyManager.EXTRA_STATE_RINGING = erstellt tabelleneintrag
TelephonyManager.EXTRA_STATE_OFFHOOK = update Startzeit
TelephonyManager.EXTRA_STATE_IDLE = update Endzeit
eingehender anruf abgelehnt:
TelephonyManager.EXTRA_STATE_RINGING = erstellt tabelleneintrag
TelephonyManager.EXTRA_STATE_IDLE = update Endzeit
Die Startzeit bleibt = 0 und es ist klar das der Anruf abgelehnt wurde
Mein Problem beginnt mit den ausgehenden anrufen da dort in jedem fall, egal ob das Gespräch aufgebaut wird oder ob ich mir 5 min das freizeichen anhöre, diese reihenfolge aufgerufen wird :
android.intent.action.NEW_OUTGOING_CALL = erstellt tabelleneintrag
TelephonyManager.EXTRA_STATE_OFFHOOK = update Startzeit
TelephonyManager.EXTRA_STATE_IDLE = update Endzeit
würde mich freuen wenn mir jemand sagen könnte wie ich herausbekomme ob ein ausgehender Anruf auch wirklich angenommen wurde.
Zuletzt bearbeitet: