2012-04-13 7 views
0

ich einen Anruf über eine UIWebView Auslösung, so dass, wenn das Gespräch beendet ist, wird der Benutzer direkt zu meiner App, über die folgenden Code zurückgegeben:Ereignis/Methode ausgelöst, wenn der Aufruf von WebView im IPhone endet?

UIWebView *callWebview = [[UIWebView alloc] init]; 
NSURL *telURL = [NSURL URLWithString:@"tel:number-to-call"]; 
[callWebview loadRequest:[NSURLRequest requestWithURL:telURL]]; 

Wenn es die Kontrolle zurück zu meiner App ich zurück‘ Ich möchte Code ausführen, aber ich kann nicht feststellen, ob eine der Methoden, die das Betriebssystem aufruft, wenn es nach dem Ende des Anrufs in meine App zurückkehrt, funktioniert. ViewWill, ViewDid usw. werden nie aufgerufen, wenn die Steuerung zurückkehrt.

Was passiert, wenn irgendetwas angerufen wird, wenn der Anruf beendet wird und die Steuerung zur webview/app zurückkehrt?

+1

Kann dies hilfreich sein? http://StackOverflow.com/Questions/3319805/detecting-call-state-in-ios4 – anticyclope

Antwort

0

UIWebview Klasse hat einige Delegierte functions.webview rufen Sie diese functions auf, wenn Sie laden beginnen und Ladeanforderung beenden und so weiter. Ich habe schlechtes Englisch, ich wünsche, dass Sie mich verstehen können. Wenn ich Ihre Frage falsch gelesen habe und meine Antwort nicht ist, was Sie wollen, bitte verzeihen Sie mir.

+0

Ja, ich verstehe, das Webview hat Delegiertenfunktionen, aber ich lade keine Seite, ich benutze einen Kludge. Grundsätzlich kehrt Apple in seiner Weisheit nicht zu Ihrer App zurück, nachdem Sie einen Telefonanruf von ihm gestartet haben, wenn Sie die normalen [UIApplication sharedApplicatio] openUrl: ... Aufrufe verwenden. Dadurch wird ein Anruf programmatisch gestartet. Wenn der Benutzer den Anruf jedoch beendet, werden sie nicht an Ihre App zurückgegeben. Sie können also iOS dazu veranlassen, zu Ihrer App zurückzukehren, wenn Sie in einer Webansicht eine tel: // URL öffnen. Wenn Sie das tun, wenn der Benutzer den Anruf beendet, werden sie direkt an Ihre App zurückgegeben. – user282172

+0

Welches ist das Verhalten, das ich möchte, aber nach dem Zurückkehren zu meiner App nehme ich an, dass eine Delegate-Methode aufgerufen wird, aber keine (zumindest in der Ansicht). Ich werde untersuchen, ob die Anwendungsdelegierten angerufen werden, und muss möglicherweise sehen, ob ich die Telefonstatusbenachrichtigungen verwenden kann, um dies zu erreichen. – user282172

+0

Follow-up. Es gibt bestimmte Delegierte Methoden auf Anwendungsebene, die als Teil dieser Kluding-Schleife aufgerufen werden, die verwendet werden können, um das zu tun, was ich brauche, aber ich habe keine Probleme, wo es erscheint, Objekte werden aus dem Speicher entfernt und in diesem Stapel neu erstellt Während sie von iOS neu erstellt werden, liegt das Timing der App-Delegate-Methoden vor den Wiederherstellungsereignissen und es werden keine Ereignisse ausgelöst. – user282172