CAPTIVE_PORTAL_SIGN

M

MichaelBgu

Neues Mitglied
0
Hallo zusammen,



ich benötige mal euer wissen

Ich habe eine WLAN App geschrieben um sich ins WLAN zu verbinden (ja hat schon seinen Grund) das klappt auch problemlos, nur gibt es jetzt die Anforderung das es auch Portalseiten unterstützen soll (also dort wo sich der User noch mal extra für das Internet anmelden muss)

Also ich kann die eigentliche Verbindung aufbauen nur würde ich dann gerne entweder den Android Intent verwenden oder die Seite in einem webview zur Anmeldung anzeigen.



Und da komme ich grade nicht weiter hat jemand eine Idee wie ich das machen
1671028568659.png 1671028580745.png

Ich freue mich auf eure Hilfe

Viele Grüße
Michael
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von: hagex - Grund: Bildvorschau standardisiert. Gruß von hagex
@MichaelBgu

herzlich willkommen im Forum !

Also ich kann die eigentliche Verbindung aufbauen nur würde ich dann gerne entweder den Android Intent verwenden oder die Seite in einem webview zur Anmeldung anzeigen.

Wo kommst du nicht weiter ?
Einen WebView erstellen und dann den Callback mit den Logindaten implementieren ?
Von welchem Intent sprichst du ?
Scheiterst du am Workflow ?

Ein wenig API Referenzen wären da schon hilfreich, wo du genau hängst

Ansonsten ist das hier recht hilfreich umgesetzt
GitHub - fabricethilaw/sonarnet: Android library for seamless awareness of true Internet access and captive portals on top of Android connectivity API.
 
Zuletzt bearbeitet:
Hallo Stefan,
also die verbindung steht soweit das das WLAN selbst ja mit schlüssel hinterlegt wird.
was mir jetzt fehlt ist das öffnen der Anmeldeseite per webview oder wie auch immer.

mit Intent meine ich das zB. startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));
damit komme ich ja auf die Wlan einstellungsseite ich hätte aber wenn machbar nur das was hinter dem butten (siehe Bild oben) Anmelden ist (das ist ja die Anmeldeseite)

ich bin soweit das ich prüfen kann ob es sich um eine Captive Portal handel oder nicht das mache ich mit der abfrage:
ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
Network[] activeNetworks=connectivityManager.getAllNetworks();
for(Network network:activeNetworks){
if(connectivityManager.getNetworkInfo(network).isConnected()){
NetworkCapabilities networkCapabilities=connectivityManager.getNetworkCapabilities(network);
if(networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL)){
//DO SOMETHING
Log.e(tag, "PORTAL wurde erkannt!!!!!!!!!!!!");
}

aber jetzt komme ich einfach nicht weiter so das ich dem User die Anmeldeseite anzeigen

Dein beispiel von oben schaue ich mir morgen mal in ruhe an das kannte ich jetzt noch nicht und ich hab schon wie wild gegoooogelt

Danke und Gruß
Michael
 
Zurück
Oben Unten