Android: Öffnen Sie den Browser mit dem mitgelieferten Session-Cookie

8

Ich bin derzeit auf der Suche nach einem Weg, um die Standard-Browser-Anwendung auf Android zu starten und ein Session-Cookie daran zu übergeben.

Meine Anwendung kommuniziert mit einer externen API, über die ich keinen Einfluss habe, indem ich HttpClient verwende, und übergibt den Benutzer dann für die letzten Phasen an die Site.

Ich bin mir bewusst, dass dies wahrscheinlich mit einem WebView möglich ist, aber ich muss sehr speziell die externe Browser-Anwendung öffnen, anstatt eine interne WebView zu verwenden.

Ich weiß das:

%Vor%

Kann verwendet werden, um den Browser zu öffnen, aber ich habe es nicht geschafft, viele Informationen darüber zu finden, ob irgendwelche zusätzlichen Daten tatsächlich übergeben werden.

Jede Hilfe wird sehr geschätzt.

    
rblk 26.08.2010, 09:35
quelle

2 Antworten

6
  

Ich bin derzeit auf der Suche nach einer Möglichkeit, die Standard-Browser-Anwendung auf Android zu starten und eine Sitzung zu bestehen   Cookie dazu.

Das ist nicht möglich, sorry.

    
CommonsWare 26.08.2010, 11:47
quelle
4

Kennst du URL-Neuschreiben? Es wird Ihnen helfen, Ihre Nachfrage zu erreichen. Ein URL-Write könnte folgendermaßen aussehen: "http: // localhost: 8080 / test / Fehler.jsp; jsessionid = C4E6732EBB4C17F409AB41143735C096".

Die "jsessionid" ist der Schlüssel für die Sitzungs-ID und C4E6732EBB4C17F409AB41143735C096 ist der Wert. Der Schlüssel für die Darstellung des Sitzungs-ID-Attributs hängt davon ab, welche Sprache in den Web-Projekten verwendet wird.

Wenn Sie also die Sitzung beibehalten möchten, können Sie den Standard wie folgt starten:

%Vor%

Die SessionID, die Sie vom HttpClient erhalten können, fügen Sie sie einfach hinter Ihre URL ein.

Es gibt auch einige Probleme, die beachtet werden müssen. Erstens, in der URL ist der Separator ";" nicht "?", weil die Sitzungs-ID im http-Header ist, nicht im http-Body. Zweitens: Wenn der Browser bereits eine Sitzung mit dem Server hat, funktioniert das URL-Rewrite nicht, da der Browser eine eigene Sitzung verwendet. Um dies zu lösen, können Sie Ihre App verwenden, um die Sitzung des Browsers zu erhalten und diese Sitzung zu verwenden im HttpClient.

    
Sam 10.07.2012 01:57
quelle

Tags und Links