2016-10-21 3 views
0

EDIT: Ich denke, browserset.setUserAgentString("SITEAPP"); sollte mein Problem beheben. Ich werde versuchen und Ergebnisse veröffentlichen.Android WebView und Web Browser Erkennung

Nur eine Android-App für die Firma, für die ich arbeite, und ich habe dieses kleine Problem. Wir verwenden ein flüssiges Website-Design, das über alle Browser hinweg funktioniert, und wir wollten eine App für unsere Unternehmenswebsite erstellen, aber anstatt die App jedes Mal neu zu erstellen, haben wir WebView verwendet, um die Website zu laden.

Dies funktioniert super. Die App sieht toll aus und zeigt sich perfekt wie der Android-Browser. Das Problem ist jetzt, wenn sie die Seite auf ihrem Standard-Android-Browser besuchen, erhalten sie ein Popup, das sagt "Probieren Sie unsere tolle neue App" und es zeigt nur die Browser, die Android in der User-Agent-String ausgeben. Aber wenn Sie die neue App öffnen, die wir gemacht haben, die die gleiche Webseite lädt, sehen Sie den Server des Servers auf dem Benutzeragenten und die Leute, die die APP ALSO verwenden, sehen das Popup? here im Wesentlichen des Code:

$ua = strtolower($_SERVER['HTTP_USER_AGENT']); 
if(stripos($ua, 'android') !== false) { 
    echo "Android Browser"; 
} 

Wie kann ich meinen Android-Browser und mein App-Browser mache mit Webansicht nicht das gleiche zu meinem Server erscheinen, so dass sie das Popup auf meinem Webapp nicht bekommen? Gibt es eine Möglichkeit, den Browser-User-Agent in den WebView-Einstellungen der HT-App zu definieren? Oder ein besserer Weg zu entziffern, wenn ein Android-Handy nicht meine App nutzt? Vielen Dank.

Antwort

0

Sorry für die dumme Frage, heren meine aktualisierte Aufforderung zur Webansicht

mWebView = (WebView) findViewById(R.id.webview); 
    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setUserAgentString("APPNAMEGOESHERE"); 
    webSettings.setJavaScriptEnabled(true); 
    mWebView.loadUrl("http://www.sitename.com/"); 
    mWebView.setWebViewClient(new BrowseWithin()); 

Durch das Hinzufügen der setUserAgentString() Funktion konnte ich meinen apps User String etwas anderes und es das Problem behoben ändern.