2016-03-23 2 views
0

У меня есть малина Pi, работающая WebIOPi, которая подключается к релейной плате, чтобы включить и выключить все через веб-интерфейс. Вот то, что интерфейс выглядит в браузере:Android WebView, не отображающий локальный IP-адрес

enter image description here

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

Вот мой код:

MainActivity:

package org.kevinbright.android.backyardcontrolapp; 

import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 


public class MainActivity extends Activity { 

    private WebView mWebViewer; 




@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    //url = getIntent().getStringExtra(EXTRA_URL); 

    mWebViewer = (WebView)findViewById(R.id.webviewer); 
    mWebViewer.setWebViewClient(new WebViewClient()); 
    mWebViewer.clearCache(true); 
    mWebViewer.getSettings().setJavaScriptEnabled(true); 
    mWebViewer.loadUrl("http://192.168.1.100:8000/"); 
} 
} 

Вот XML:

<?xml version="1.0" encoding="UTF-8"?> 

<LinearLayout android:orientation="vertical" 
       android:layout_height="match_parent" 
       android:layout_width="match_parent" 
       xmlns:android="http://schemas.android.com/apk/res/android"> 

<WebView android:layout_height="match_parent" 
     android:layout_width="match_parent" 
     android:id="@+id/webviewer"/> 

И я добавил:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

на манифест.

У меня нет ошибок logcat, но когда я запускаю приложение, я получаю только белый экран. Кроме того, если я заменю «http://www.google.com», все будет хорошо. Кроме того, я тестирую на реальном устройстве (без эмулятора). Любые предложения относительно того, почему это не работает?

+0

, который должен загружаться, если у вас есть все необходимые разрешения, установленные в webView, и если они используются, то в webVwClient ... u потребуется отладка java до загрузки (...) веб-браузера, а затем отмените отладчик на chrome dev Инструменты –

ответ

0

У меня проблема как ваша. Я достиг загрузки локального IP-адреса, но занимает не менее 30 секунд, а тем временем белый экран. Он похож на хром (webView) пытается найти IP в Интернете, и в конце сказал: «О, это локальный ip, давайте загрузим». Это довольно странно. Я тоже жду помощи.

+0

Ну, я решил свою проблему. На самом деле это было не так, как у вас, потому что я пытался подключиться к локальному серверу в локальной сети без подключения к Интернету. И моя проблема заключалась в том, что у меня была внешняя ссылка в моей таблице стилей (@import url ("http: //fonts.googleapis.com/css ...). Эта глупая вещь занимает много времени. Я проверил ваш код, и это похоже на мой код. Я не могу вам помочь. Удачи! –

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