2016-10-21 2 views
0

EDIT: Я ДУМАЮ, что browserset.setUserAgentString("SITEAPP"); должен исправить мою проблему. Я попытаюсь опубликовать результаты.Обнаружение Android WebView и Web Browser

Просто сделал приложение для Android, в котором я работаю, и у меня есть эта небольшая проблема. Мы используем дизайн жидкого сайта, который работает во всех браузерах, и мы хотели сделать приложение для нашего веб-сайта, но вместо того, чтобы перестраивать приложение каждый раз, когда сайт меняется, мы просто использовали WebView для загрузки веб-сайта.

Это прекрасно работает. Приложение выглядит потрясающе, и оно отлично выглядит как браузер Android. Проблема в том, что когда они посещают сайт на своем Android-браузере, у них появляется всплывающее окно, в котором говорится: «Попробуйте наше замечательное новое приложение», и оно отображается только в браузерах, которые выводят Android в строку пользовательского агента. Но когда вы открываете новое приложение, которое мы создали, которое загружает одну и ту же веб-страницу, сервер и андроид на пользовательском агенте и люди, использующие приложение, также видят всплывающее окно? Heres существу код:

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

Как я могу сделать мой андроид браузер и мое приложение браузера с WebView не выглядят так же на моем сервере, так что они не получают всплывающее окно на моем веб-приложение? Есть ли способ определить пользовательский агент браузера в настройках WebView в приложении hte? Или лучший способ расшифровать, если его телефон Android не использует мое приложение? Благодарю.

ответ

0

Извините за тупой вопрос, мой Heres обновленный призыв к WebView

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()); 

Добавляя функцию setUserAgentString() я был в состоянии изменить строку приложения пользователя на что-то другое, и это исправили проблему.

Смежные вопросы